Exemple #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);
        }
Exemple #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;
 }
Exemple #3
0
        public void NopPInvokeBenchmark()
        {
            CompletionCallbackDelegate handler = Handler;

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

            counter = 0;
            BenchmarkUtil.RunBenchmark(
                1000000, 10000000,
                () => {
                grpcsharp_test_callback(handler);
            }
                );
            Assert.AreNotEqual(0, counter);
        }
Exemple #5
0
 public void ShutdownAndNotify(CompletionCallbackDelegate callback)
 {
     grpcsharp_server_shutdown_and_notify_callback(this, callback);
 }
Exemple #6
0
 public GRPCCallError RequestCall(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback)
 {
     return grpcsharp_server_request_call(this, cq, callback);
 }
Exemple #7
0
 static extern GRPCCallError grpcsharp_call_send_status_from_server(CallSafeHandle call, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback, StatusCode statusCode, string statusMessage);
Exemple #8
0
 static extern GRPCCallError grpcsharp_call_send_message(CallSafeHandle call,
                                                         [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback,
                                                         byte[] send_buffer, UIntPtr send_buffer_len);
Exemple #9
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback));
 }
Exemple #10
0
 public void ShutdownAndNotify(CompletionCallbackDelegate callback)
 {
     grpcsharp_server_shutdown_and_notify_callback(this, callback);
 }
Exemple #11
0
 public void StartServerSide(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_serverside(this, callback));
 }
Exemple #12
0
 public void StartSendStatusFromServer(Status status, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_status_from_server(this, callback, status.StatusCode, status.Detail));
 }
Exemple #13
0
 public void StartSendMessage(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_message(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
Exemple #14
0
 public void StartSendCloseFromClient(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_close_from_client(this, callback));
 }
Exemple #15
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback, MetadataArraySafeHandle metadataArray)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback, metadataArray));
 }
Exemple #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));
 }
Exemple #17
0
 static extern GRPCCallError grpcsharp_call_start_client_streaming(CallSafeHandle call,
                                                                   [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
Exemple #18
0
 static extern GRPCCallError grpcsharp_server_request_call(ServerSafeHandle server, CompletionQueueSafeHandle cq, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
Exemple #19
0
 public Server()
 {
     this.handle = ServerSafeHandle.NewServer(GetCompletionQueue(), IntPtr.Zero);
     this.newServerRpcHandler   = HandleNewServerRpc;
     this.serverShutdownHandler = HandleServerShutdown;
 }
Exemple #20
0
 public void StartServerStreaming(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_server_streaming(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
Exemple #21
0
 public void StartServerSide(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_serverside(this, callback));
 }
Exemple #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);
Exemple #23
0
 public void StartUnary(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_unary(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
Exemple #24
0
 public void StartClientStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_client_streaming(this, callback));
 }
Exemple #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);
Exemple #26
0
 public void BlockingUnary(CompletionQueueSafeHandle dedicatedCq, byte[] payload, CompletionCallbackDelegate callback)
 {
     grpcsharp_call_blocking_unary(this, dedicatedCq, callback, payload, new UIntPtr((ulong)payload.Length));
 }
Exemple #27
0
 static extern GRPCCallError grpcsharp_call_start_duplex_streaming(CallSafeHandle call,
                                                                   [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback,
                                                                   MetadataArraySafeHandle metadataArray);
Exemple #28
0
 public void StartClientStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_client_streaming(this, callback));
 }
Exemple #29
0
 static extern GRPCCallError grpcsharp_call_send_close_from_client(CallSafeHandle call,
                                                                   [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
Exemple #30
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback));
 }
Exemple #31
0
 static extern GRPCCallError grpcsharp_call_recv_message(CallSafeHandle call,
                                                         [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
Exemple #32
0
 public void StartReceiveMessage(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_recv_message(this, callback));
 }
Exemple #33
0
 static extern void grpcsharp_server_shutdown_and_notify_callback(ServerSafeHandle server, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
Exemple #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);
 }
Exemple #35
0
 public void RequestCall(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_server_request_call(this, cq, callback));
 }
Exemple #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));
 }
Exemple #37
0
        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);
        }
Exemple #38
0
 public void StartDuplexStreaming(CompletionCallbackDelegate callback, MetadataArraySafeHandle metadataArray)
 {
     AssertCallOk(grpcsharp_call_start_duplex_streaming(this, callback, metadataArray));
 }
Exemple #39
0
 public void RequestCall(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_server_request_call(this, cq, callback));
 }
Exemple #40
0
 public void StartSendMessage(byte[] payload, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_message(this, callback, payload, new UIntPtr((ulong)payload.Length)));
 }
Exemple #41
0
 public AsyncCallServer(Func <TResponse, byte[]> serializer, Func <byte[], TRequest> deserializer) : base(serializer, deserializer)
 {
     this.finishedServersideHandler = CreateBatchCompletionCallback(HandleFinishedServerside);
 }
Exemple #42
0
 public void StartSendCloseFromClient(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_close_from_client(this, callback));
 }
Exemple #43
0
 static extern GRPCCallError grpcsharp_test_callback([MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback);
Exemple #44
0
 public void StartSendStatusFromServer(Status status, CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_send_status_from_server(this, callback, status.StatusCode, status.Detail));
 }
Exemple #45
0
 public Server()
 {
     this.handle = ServerSafeHandle.NewServer(GetCompletionQueue(), IntPtr.Zero);
     this.newServerRpcHandler = HandleNewServerRpc;
     this.serverShutdownHandler = HandleServerShutdown;
 }
Exemple #46
0
 public void StartReceiveMessage(CompletionCallbackDelegate callback)
 {
     AssertCallOk(grpcsharp_call_recv_message(this, callback));
 }