Граф коммитов

243 Коммитов

Автор SHA1 Сообщение Дата
Filippo Banno f879d977c9 Add missing default arg 2019-06-21 15:31:00 +01:00
Filippo Banno 521d5a8c28 Use explicit qualifier for ISession
Makes the type origin slightly clearer
2019-06-21 15:30:25 +01:00
Filippo Banno fbb5cd1d13 Make IRoomList enumerable
The immediate motivation is being able to use it as a XAML item source, but seems generally useful
2019-06-21 15:27:50 +01:00
Filippo Banno 1639dd29eb Add prefix to IParticipant interfaces
This is to avoid conflicts within MixedReality.Sharing as prescribed by https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-namespaces#namespaces-and-type-name-conflicts
2019-06-21 15:27:50 +01:00
Filippo Banno d350107efe Split FindRooms method
Searching by person and by attributes are usually different use cases. Doing it together is not that useful and unsupported by some backends.
2019-06-21 15:25:19 +01:00
Filippo Banno 3d2db8d1d0 Merge remote-tracking branch 'upstream/feature/dev' into feature/matchmaking 2019-06-21 15:09:01 +01:00
Filippo 8e73ebcc64
Split IRoom and IRoomInfo (#1)
Split IRoom and IRoomInfo

This solves the following unpleasantries:
- One does no longer need to call Join() on an already joined room.
- The logic for joining and leaving a session is not split between the
matchmaking and the networking layer (OTOH, users of networking that
don't use matchmaking will need to have their own way of joining/leaving
sessions).

But we'll have to live with the following:
- We have two lists of participants. Maybe we'll revisit this once we
figure out IParticipant better.
- IRoom.Leave() "breaks" some of the IRoom object. Probably no way
around this but documentation.
- IRoomInfo.Join() is redundant with IMatchmakingService.JoinRoomById().
That's not too bad - it saves the caller from having to carry around a
reference to the service.
2019-06-21 16:02:47 +02:00
Stephen Kennedy 1958ef6d03
Build pipeline packaging setup (#10) 2019-06-20 17:11:30 +01:00
Filippo Banno f42f144bc2 Merge remote-tracking branch 'upstream/feature/dev' into feature/matchmaking
Merged Microsoft.MixedReality.Sharing.sln manually.
2019-06-19 15:08:50 +01:00
Filippo Banno 9e49a5955d Improve comments and naming 2019-06-19 14:59:39 +01:00
Filippo Banno 0d03290088 Make IRoomList disposable
This is the safest choice since implementations might hold unmanaged resources
2019-06-19 14:52:18 +01:00
Stephen Kennedy 5793a89e87 Fix test now that it runs 2019-06-17 17:11:43 +01:00
Stephen Kennedy 10de67e02c Explicitly add GTA instead of relying on builtin one 2019-06-17 17:06:51 +01:00
Stephen Kennedy 5844244d19 Add explicit platform/config 2019-06-17 16:38:47 +01:00
Filippo Banno 37719ae683 Moved matchmaking classes to separate project
The main reason was to keep them logically grouped under their namespace, for better discoverability.
2019-06-17 15:49:07 +01:00
Filippo Banno b725ef3923 Merge remote-tracking branch 'upstream/feature/dev' into feature/matchmaking 2019-06-17 15:37:00 +01:00
Stephen Kennedy 841ffcc298 Use vs2019 friendly version of gtest 2019-06-17 14:06:23 +01:00
Filippo Banno 9cc4ebad19 Mention concurrent subscriptions in comments 2019-06-17 12:40:30 +01:00
Filippo Banno 769e8547a8 Improve CreateRoom comments 2019-06-17 12:33:22 +01:00
Filippo Banno 4caea45aa5 Make FindRooms return an INotifyCollectionChanged 2019-06-17 12:23:00 +01:00
Stephen Kennedy ad415ef77a Add C++ gtest tests 2019-06-17 11:43:54 +01:00
Stephen Kennedy b8abcbab77
Add unit test skeleton (#8)
* Nuget 4.3.0 can resolve netcore vs netstandard conflicts
* https://github.com/dotnet/sdk/issues/2682
2019-06-17 10:02:09 +01:00
Filippo Banno f51afcd716 Improve comments about room ID 2019-06-14 18:04:25 +01:00
Filippo Banno 53972b97af Add default arguments to CancellationTokens
Also added token to a few methods - better being conservative.
2019-06-14 16:30:14 +01:00
Filippo Banno 78d9b35fe0 Update C# version to 7.3
Newest version supported by Unity and .NET standard
2019-06-14 16:29:30 +01:00
Filippo Banno abccbc5c1a Remove ID from CreateRooms
Getting the ID from the client is not supported by all backends under consideration, and more difficult to implement manually
2019-06-14 16:23:01 +01:00
Filippo Banno 0eecaa95b4 Remove expected participants from join/create
Not fully supported and difficult to implement. Might add as optional.
2019-06-14 16:04:41 +01:00
Stephen Kennedy a534af7541
Delete CMake setup (#7) 2019-06-14 12:30:02 +01:00
Filippo Banno e7a79b159e Merge remote-tracking branch 'upstream/feature/dev' into feature/matchmaking 2019-06-12 16:15:04 +01:00
Filippo Banno 3f51e6db75 Improve naming/comments 2019-06-12 15:59:37 +01:00
Stephen Kennedy e733f4b2ee Create initial cmake configuration. 2019-06-11 12:02:29 +01:00
Filippo Banno 6a1c0e0cf0 Remove RoomProperties, add comments 2019-06-11 12:00:14 +01:00
Filippo Banno f4f9fd5d51 Add Match prefix to matchmaking classes 2019-06-11 11:47:19 +01:00
Filippo Banno 2370554036 Change IContactService into simple factory 2019-06-11 11:45:20 +01:00
Filippo Banno b23298922f Improve comments and naming 2019-06-10 17:04:17 +01:00
Filippo Banno 8811abe3a0 JoinAnyRoom -> JoinRandomRoom
'Any' is slightly ambiguous.
2019-06-10 15:54:34 +01:00
Filippo Banno a97d32ed46 Add cancellation tokens to contact search 2019-06-10 15:54:07 +01:00
Filippo Banno 7c029f0c92 Add comments to IContactService, better name 2019-06-10 15:50:43 +01:00
Filippo Banno 518bdeb44a Add initial matchmaking interface
Based on preliminary prototypes and Andrei's suggestions.

Notably:
- split room management in separate class to account for PlayFab where
rooms are managed externally;
- add both list of room and subscription to account for both usage models
(shouldn't be difficult to implement one in terms of the other anyway)
- split IContact (browsable user in matchmaking) from IParticipant (entity in a
session that one can open channels to) since they might not correspond
1:1 (might revisit later)
2019-06-10 15:50:43 +01:00
Filippo Banno 80331de6f1 Move csproj files under src
This allows for creation of test projs under test.
2019-06-10 15:43:16 +01:00
Filippo Banno c538dc36f9 Fix license comment position 2019-06-06 14:03:11 +01:00
Filippo Banno 6194002e98 Moved build artifacts to build/
Directory.Build.props copied from
https://github.com/Microsoft/msbuild/issues/1603#issuecomment-460756513
2019-06-06 10:38:19 +01:00
Filippo Banno 62867e303c Add initial interfaces stub
Trying to follow Pitchfork layout
(https://api.csswg.org/bikeshed/?force=1&url=https://raw.githubusercontent.com/vector-of-bool/pitchfork/develop/data/spec.bs#src).
Build output is still in the default location, will fix later.
2019-06-06 10:38:19 +01:00