예제 #1
0
        public RemoteThread GetThread()
        {
            GetThreadResponse response = null;

            if (connection.InvokeRpc(() =>
            {
                response = client.GetThread(new GetThreadRequest()
                {
                    Frame = grpcSbFrame
                });
            }))
            {
                return(threadFactory.Create(connection, response.Thread));
            }
            return(null);
        }
예제 #2
0
        public override Task <GetThreadResponse> GetThread(GetThreadRequest request,
                                                           ServerCallContext context)
        {
            RemoteFrame  frame  = frameStore.GetObject(request.Frame.Id);
            RemoteThread thread = frame.GetThread();

            var response = new GetThreadResponse();

            if (thread != null)
            {
                response.Thread = new GrpcSbThread()
                {
                    Id = threadStore.AddObject(thread)
                };
            }
            return(Task.FromResult(response));
        }