First pass at events almost buttoned up.

The goal is to get the members list to update when new users enter and leave the party.
This commit is contained in:
watsonb8
2019-07-07 17:12:13 -04:00
parent 74f5d3e9c6
commit 823e1341ca
14 changed files with 563 additions and 20 deletions

51
Aurora/Proto/events.proto Normal file
View File

@ -0,0 +1,51 @@
syntax = "proto3";
package Aurora.Proto.Events;
import "Proto/general.proto";
import "Proto/party.proto";
service RemoteEventService {
//Party Service
rpc GetEvents(Aurora.Proto.General.Empty) returns (stream BaseEvent) {};
rpc SubscribeToEvents(SubscribeRequest) returns(SubscriptionResponse);
rpc UnsubscribeFromEvents(UnsubscribeRequest) returns (SubscriptionResponse);
rpc UnsubscribeFromAll(UnsubscribeAllRequest) returns (SubscriptionResponse);
}
/* Subscription messages */
message SubscribeRequest {
repeated EventType eventTypes = 1;
}
message UnsubscribeRequest {
repeated EventType eventTypes = 1;
}
message UnsubscribeAllRequest {
}
message SubscriptionResponse {
bool successful = 1;
}
/* Event Types */
enum EventType {
PartyMemberJoined = 0;
PartyMemberLeft = 1;
}
message BaseEvent {
EventType eventType = 1;
oneof derivedEvent {
PartyMemberJoinedEvent partyMemberJoinedEvent = 2;
PartyMemberLeftEvent partyMemberLeftEvent = 3;
}
}
message PartyMemberJoinedEvent {
Aurora.Proto.Party.PartyMember member = 2;
}
message PartyMemberLeftEvent {
Aurora.Proto.Party.PartyMember member = 2;
}

View File

@ -1,10 +1,10 @@
syntax = "proto3";
package Aurora.Proto;
package Aurora.Proto.General;
message Chunk {
bytes Content = 1;
}
message Empty{
}
}

View File

@ -1,6 +1,6 @@
syntax = "proto3";
package Aurora.Proto;
package Aurora.Proto.Party;
import "Proto/general.proto";
@ -8,7 +8,7 @@ service RemotePartyService {
//Party Service
rpc JoinParty(JoinPartyRequest) returns (JoinPartyResponse);
rpc LeaveParty(LeavePartyRequest) returns (LeavePartyResponse);
rpc GetPartyMembers(Empty) returns (MembersResponse);
rpc GetPartyMembers(Aurora.Proto.General.Empty) returns (MembersResponse);
}
message JoinPartyRequest {

View File

@ -1,12 +1,12 @@
syntax = "proto3";
package Aurora.Proto;
package Aurora.Proto.Playback;
import "Proto/general.proto";
service RemotePlaybackService {
//Playback Service
rpc GetPartyStream(Empty) returns (stream Chunk) {};
rpc GetPartyStream(Aurora.Proto.General.Empty) returns (stream Aurora.Proto.General.Chunk) {};
}
enum TransferStatusCode {