public override Task <RegisterChannelResponse> RegisterChannel(RegisterChannelRequest request, ServerCallContext context) { var channel = tracker.AddChannel(request.PeerdId, request.ChannelId); var response = new RegisterChannelResponse() { ResponseStatus = ResponseHelpers.CreateOkStatus() }; return(Task.FromResult(response)); }
public override Task <RegisterPeerResponse> RegisterPeer(RegisterPeerRequest request, ServerCallContext context) { var peer = tracker.AddPeer(request.ServerLocation.Uri, request.ServerLocation.Port); var response = new RegisterPeerResponse() { ResponseStatus = ResponseHelpers.CreateOkStatus(), PeerId = peer.Id }; return(Task.FromResult(response)); }
public override Task <GetChannelResponse> GetChannel(GetChannelRequest request, ServerCallContext context) { var channel = tracker.GetChannel(request.ChannelId); var response = new GetChannelResponse() { ResponseStatus = ResponseHelpers.CreateOkStatus(), ServerLocation = new ServerLocation() { Uri = channel.Peer.Host, Port = channel.Peer.Port } }; return(Task.FromResult(response)); }
public override async Task <PutResponse> Put(PutRequest request, ServerCallContext context) { var channel = channels.GetChannel(request.Channel); var message = new Message() { Timestamp = request.Timestamp, Content = request.Message.ToByteArray() }; await channel.Put(message); var response = new PutResponse() { ResponseStatus = ResponseHelpers.CreateOkStatus() }; return(response); }
public override async Task <GetResponse> Get(GetRequest request, ServerCallContext context) { var channel = channels.GetChannel(request.Channel); var messages = await channel.Get(request.From, request.To); var response = new GetResponse() { ResponseStatus = ResponseHelpers.CreateOkStatus() }; foreach (var message in messages) { response.Messages.Add(new ChannelMessage() { Timestamp = message.Timestamp, Message = ByteString.CopyFrom(message.Content) }); } return(response); }