Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }