public FabricTransportCallbackClient(NativeServiceCommunication.IFabricClientConnection nativeClientConnection)
        {
            this.nativeClientConnection = nativeClientConnection;
            var clientId = this.nativeClientConnection.get_ClientId();

            this.clientId = NativeTypes.FromNativeString(clientId);
            ;
        }
        public NativeCommon.IFabricAsyncOperationContext BeginProcessConnect(
            NativeServiceCommunication.IFabricClientConnection nativeClientConnection,
            uint timeoutMilliseconds,
            NativeCommon.IFabricAsyncOperationCallback callback)
        {
            var clientConnectionmanagedTimeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
            var clientConnection = new FabricTransportCallbackClient(nativeClientConnection);

            AppTrace.TraceSource.WriteInfo("FabricTransportServiceConnectionHandlerBroker", "Client {0} Connecting", clientConnection.GetClientId());
            return
                (Utility.WrapNativeAsyncMethodImplementation(
                     (cancellationToken) => this.connectionHandler.ConnectAsync(clientConnection, clientConnectionmanagedTimeout),
                     callback,
                     "IFabricServiceConnectionHandler.ConnectAsync"));
        }