private void CreateNativeClient( FabricTransportSettings transportSettings, string connectionAddress, IFabricTransportClientEventHandler eventHandler, IFabricTransportCallbackMessageHandler contract, NativeFabricTransport.IFabricTransportMessageDisposer messageMessageDisposer) { var iid = typeof(NativeFabricTransport.IFabricTransportClient).GetTypeInfo().GUID; using (var pin = new PinCollection()) { var nativeTransportSettings = transportSettings.ToNativeV2(pin); var messageHandler = new FabricTransportCallbackHandlerBroker(contract); var nativeConnectionAddress = pin.AddBlittable(connectionAddress); var nativeEventHandler = new FabricTransportClientConnectionEventHandlerBroker(eventHandler); this.nativeClient = NativeFabricTransport.CreateFabricTransportClient( ref iid, nativeTransportSettings, nativeConnectionAddress, messageHandler, nativeEventHandler, messageMessageDisposer); } }
private void CreateNativeListener( IFabricTransportMessageHandler contract, FabricTransportSettings transportSettings, FabricTransportListenerAddress listenerAddress, IFabricTransportConnectionHandler connectionHandler) { var iid = typeof(NativeFabricTransport.IFabricTransportListener).GetTypeInfo().GUID; using (var pin = new PinCollection()) { var nativeTransportSettings = transportSettings.ToNativeV2(pin); var nativeListenerAddress = listenerAddress.ToNative(pin); var nativeConnectionHandler = new FabricTransportConnectionHandlerBroker(connectionHandler); var messageHandler = new FabricTransportMessageHandlerBroker(contract, connectionHandler); var nativeFabricTransportMessageDisposer = new NativeFabricTransportMessageDisposer(); this.nativeListner = NativeFabricTransport.CreateFabricTransportListener( ref iid, nativeTransportSettings, nativeListenerAddress, messageHandler, nativeConnectionHandler, nativeFabricTransportMessageDisposer); } }