示例#1
0
        protected bool finished;  // True if close has been received from the peer.

        public AsyncCallBase(Func <TWrite, byte[]> serializer, Func <byte[], TRead> deserializer)
        {
            this.serializer   = Preconditions.CheckNotNull(serializer);
            this.deserializer = Preconditions.CheckNotNull(deserializer);

            this.sendFinishedHandler = CreateBatchCompletionCallback(HandleSendFinished);
            this.readFinishedHandler = CreateBatchCompletionCallback(HandleReadFinished);
            this.halfclosedHandler   = CreateBatchCompletionCallback(HandleHalfclosed);
        }
示例#2
0
 public AsyncCall(Func <TWrite, byte[]> serializer, Func <byte[], TRead> deserializer)
 {
     this.serializer                = serializer;
     this.deserializer              = deserializer;
     this.unaryResponseHandler      = HandleUnaryResponse;
     this.finishedHandler           = HandleFinished;
     this.writeFinishedHandler      = HandleWriteFinished;
     this.readFinishedHandler       = HandleReadFinished;
     this.halfclosedHandler         = HandleHalfclosed;
     this.finishedServersideHandler = HandleFinishedServerside;
 }
示例#3
0
        public void NopPInvokeBenchmark()
        {
            CompletionCallbackDelegate handler = Handler;

            BenchmarkUtil.RunBenchmark(
                1000000, 100000000,
                () => {
                grpcsharp_test_nop(IntPtr.Zero);
            }
                );
        }
示例#4
0
        public void NativeCallbackBenchmark()
        {
            CompletionCallbackDelegate handler = Handler;

            counter = 0;
            BenchmarkUtil.RunBenchmark(
                1000000, 10000000,
                () => {
                grpcsharp_test_callback(handler);
            }
                );
            Assert.AreNotEqual(0, counter);
        }
示例#5
0
 public void ShutdownAndNotify(CompletionCallbackDelegate callback)
 {
     grpcsharp_server_shutdown_and_notify_callback(this, callback);
 }
示例#6
0
 public GRPCCallError RequestCall(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback)
 {
     return grpcsharp_server_request_call(this, cq, callback);
 }
示例#7
0
 static extern GRPCCallError grpcsharp_call_send_status_from_server(CallSafeHandle call, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback, StatusCode statusCode, string statusMessage);
示例#8
0
 static extern GRPCCallError grpcsharp_call_send_message(CallSafeHandle call,
                                                         [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback,
                                                         byte[] send_buffer, UIntPtr send_buffer_len);
示例#9
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback));
 }
示例#10
0
 public void ShutdownAndNotify(CompletionCallbackDelegate callback)
 {
     grpcsharp_server_shutdown_and_notify_callback(this, callback);
 }
示例#11
0
 public void StartServerSide(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_serverside(this, callback));
 }
示例#12
0
 public void StartSendStatusFromServer(Status status, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_status_from_server(this, callback, status.StatusCode, status.Detail));
 }
示例#13
0
 public void StartSendMessage(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_message(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
示例#14
0
 public void StartSendCloseFromClient(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_close_from_client(this, callback));
 }
示例#15
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback, MetadataArraySafeHandle metadataArray)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback, metadataArray));
 }
示例#16
0
 public void StartUnary(byte[] payload, CompletionCallbackDelegate callback, MetadataArraySafeHandle metadataArray)
 {
     AssertCallOk(grpcsharp_call_start_unary(this, callback, payload, new UIntPtr((ulong)payload.Length), metadataArray));
 }
示例#17
0
 static extern GRPCCallError grpcsharp_call_start_client_streaming(CallSafeHandle call,
                                                                   [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
示例#18
0
 static extern GRPCCallError grpcsharp_server_request_call(ServerSafeHandle server, CompletionQueueSafeHandle cq, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
示例#19
0
文件: Server.cs 项目: zhangf911/grpc
 public Server()
 {
     this.handle = ServerSafeHandle.NewServer(GetCompletionQueue(), IntPtr.Zero);
     this.newServerRpcHandler   = HandleNewServerRpc;
     this.serverShutdownHandler = HandleServerShutdown;
 }
示例#20
0
 public void StartServerStreaming(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_server_streaming(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
示例#21
0
 public void StartServerSide(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_serverside(this, callback));
 }
示例#22
0
 static extern GRPCCallError grpcsharp_call_start_server_streaming(CallSafeHandle call,
                                                                   [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback,
                                                                   byte[] send_buffer, UIntPtr send_buffer_len,
                                                                   MetadataArraySafeHandle metadataArray);
示例#23
0
 public void StartUnary(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_unary(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
示例#24
0
 public void StartClientStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_client_streaming(this, callback));
 }
示例#25
0
 static extern void grpcsharp_call_blocking_unary(CallSafeHandle call, CompletionQueueSafeHandle dedicatedCq,
                                                  [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback,
                                                  byte[] send_buffer, UIntPtr send_buffer_len, MetadataArraySafeHandle metadataArray);
示例#26
0
 public void BlockingUnary(CompletionQueueSafeHandle dedicatedCq, byte[] payload, CompletionCallbackDelegate callback)
 {
     grpcsharp_call_blocking_unary(this, dedicatedCq, callback, payload, new UIntPtr((ulong)payload.Length));
 }
示例#27
0
 static extern GRPCCallError grpcsharp_call_start_duplex_streaming(CallSafeHandle call,
                                                                   [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback,
                                                                   MetadataArraySafeHandle metadataArray);
示例#28
0
 public void StartClientStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_client_streaming(this, callback));
 }
示例#29
0
 static extern GRPCCallError grpcsharp_call_send_close_from_client(CallSafeHandle call,
                                                                   [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
示例#30
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback));
 }
示例#31
0
 static extern GRPCCallError grpcsharp_call_recv_message(CallSafeHandle call,
                                                         [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
示例#32
0
 public void StartReceiveMessage(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_recv_message(this, callback));
 }
示例#33
0
 static extern void grpcsharp_server_shutdown_and_notify_callback(ServerSafeHandle server, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
示例#34
0
 public void BlockingUnary(CompletionQueueSafeHandle dedicatedCq, byte[] payload, CompletionCallbackDelegate callback, MetadataArraySafeHandle metadataArray)
 {
     grpcsharp_call_blocking_unary(this, dedicatedCq, callback, payload, new UIntPtr((ulong)payload.Length), metadataArray);
 }
示例#35
0
 public void RequestCall(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_server_request_call(this, cq, callback));
 }
示例#36
0
 public void StartServerStreaming(byte[] payload, CompletionCallbackDelegate callback, MetadataArraySafeHandle metadataArray)
 {
     AssertCallOk(grpcsharp_call_start_server_streaming(this, callback, payload, new UIntPtr((ulong)payload.Length), metadataArray));
 }
示例#37
0
文件: AsyncCall.cs 项目: varung/grpc
        bool readObserverCompleted;  // True if readObserver has already been completed.

        public AsyncCall(Func <TRequest, byte[]> serializer, Func <byte[], TResponse> deserializer) : base(serializer, deserializer)
        {
            this.unaryResponseHandler = CreateBatchCompletionCallback(HandleUnaryResponse);
            this.finishedHandler      = CreateBatchCompletionCallback(HandleFinished);
        }
示例#38
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback, MetadataArraySafeHandle metadataArray)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback, metadataArray));
 }
示例#39
0
 public void RequestCall(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_server_request_call(this, cq, callback));
 }
示例#40
0
 public void StartSendMessage(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_message(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
示例#41
0
 public AsyncCallServer(Func <TResponse, byte[]> serializer, Func <byte[], TRequest> deserializer) : base(serializer, deserializer)
 {
     this.finishedServersideHandler = CreateBatchCompletionCallback(HandleFinishedServerside);
 }
示例#42
0
 public void StartSendCloseFromClient(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_close_from_client(this, callback));
 }
示例#43
0
 static extern GRPCCallError grpcsharp_test_callback([MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
示例#44
0
 public void StartSendStatusFromServer(Status status, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_status_from_server(this, callback, status.StatusCode, status.Detail));
 }
示例#45
0
文件: Server.cs 项目: jwatt/kythe
 public Server()
 {
     this.handle = ServerSafeHandle.NewServer(GetCompletionQueue(), IntPtr.Zero);
     this.newServerRpcHandler = HandleNewServerRpc;
     this.serverShutdownHandler = HandleServerShutdown;
 }
示例#46
0
 public void StartReceiveMessage(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_recv_message(this, callback));
 }