public void HandleOneWay(IntPtr nativeClientId, NativeServiceCommunication.IFabricServiceCommunicationMessage message)
        {
            var body    = Helper.Get_Byte(message.Get_Body());
            var headers = Helper.Get_Byte(message.Get_Headers());

            this.callImpl.OneWayMessage(headers, body);
        }
예제 #2
0
        public void HandleOneWay(IntPtr nativeClientId,
                                 NativeServiceCommunication.IFabricServiceCommunicationMessage message)
        {
            var body     = Helper.Get_Byte(message.Get_Body());
            var headers  = Helper.Get_Byte(message.Get_Headers());
            var clientId = NativeTypes.FromNativeString(nativeClientId);
            var context  = new FabricTransportRequestContext(clientId, this.nativeConnectionHandler.GetCallBack);

            this.service.HandleOneWay(context, headers, body);
        }
        public NativeCommon.IFabricAsyncOperationContext BeginProcessRequest(
            IntPtr nativeClientId,
            NativeServiceCommunication.IFabricServiceCommunicationMessage message,
            uint timeoutMilliseconds,
            NativeCommon.IFabricAsyncOperationCallback callback)
        {
            var body           = Helper.Get_Byte(message.Get_Body());
            var headers        = Helper.Get_Byte(message.Get_Headers());
            var managedTimeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
            var clientId       = NativeTypes.FromNativeString(nativeClientId);

            return(Utility.WrapNativeAsyncMethodImplementation(
                       (cancellationToken) => this.RequestResponseAsync(clientId, headers, body, managedTimeout),
                       callback,
                       "IServiceCommunicationCallbackContract.RequestResponseAsync"));
        }