public static FabricTransportMessage ToFabricTransportMessage( NativeFabricTransport.IFabricTransportMessage message) { FabricTransportMessage msg; uint count; IntPtr headerBuffer; IntPtr messageBuffer; message.GetHeaderAndBodyBuffer(out headerBuffer, out count, out messageBuffer); if (headerBuffer != IntPtr.Zero) { msg = new FabricTransportMessage( NativeMessageToFabricTransportHeader(headerBuffer), NativeMessageToFabricTransportBody(count, messageBuffer), message); } else { msg = new FabricTransportMessage(null, NativeMessageToFabricTransportBody(count, messageBuffer), message); } GC.KeepAlive(message); return(msg); }
public void HandleOneWay(IntPtr nativeClientId, NativeFabricTransport.IFabricTransportMessage message) { var clientId = NativeTypes.FromNativeString(nativeClientId); var context = new FabricTransportRequestContext(clientId, this.nativeConnectionHandler.GetCallBack); this.service.HandleOneWay(context, NativeFabricTransportMessage.ToFabricTransportMessage(message)); }
public NativeCommon.IFabricAsyncOperationContext BeginProcessRequest( IntPtr nativeClientId, NativeFabricTransport.IFabricTransportMessage message, uint timeoutMilliseconds, NativeCommon.IFabricAsyncOperationCallback callback) { var managedTimeout = TimeSpan.FromMilliseconds(timeoutMilliseconds); var clientId = NativeTypes.FromNativeString(nativeClientId); return(Utility.WrapNativeAsyncMethodImplementation( (cancellationToken) => this.RequestResponseAsync(clientId, NativeFabricTransportMessage.ToFabricTransportMessage(message), managedTimeout), callback, "IFabricServiceCommunicationContract.RequestResponseAsync")); }
public void HandleOneWay(NativeFabricTransport.IFabricTransportMessage message) { this.callImpl.OneWayMessage(NativeFabricTransportMessage.ToFabricTransportMessage(message)); }