public IWampClientProxy <TMessage> Create(IWampConnection <TMessage> connection) { IWampOutgoingMessageHandler outgoingHandler = mOutgoingHandlerBuilder.Build(connection); WampConnectionMonitor <TMessage> monitor = new WampConnectionMonitor <TMessage>(connection); IDisposable disposable = new WampClientContainerDisposable <TMessage, IWampClientProxy <TMessage> > (mContainer, connection); WampClientProxy <TMessage> result = new WampClientProxy <TMessage>(outgoingHandler, mOutgoingSerializer, monitor, disposable); result.Session = (long)mContainer.GenerateClientId(result); result.Binding = mBinding; IDetailedWampConnection <TMessage> detailedConnection = connection as IDetailedWampConnection <TMessage>; if (detailedConnection != null) { result.TransportDetails = detailedConnection.TransportDetails; } monitor.Client = result; return(result); }
public IWampClient Create(IWampConnection <TMessage> connection) { IWampOutgoingMessageHandler outgoingHandler = mOutgoingHandlerBuilder.Build(connection); WampConnectionMonitor <TMessage> monitor = new WampConnectionMonitor <TMessage>(connection); IDisposable disposable = new WampClientContainerDisposable <TMessage, IWampClient> (mContainer, connection); WampClientProxy result = new WampClientProxy(outgoingHandler, mOutgoingSerializer, monitor, disposable); result.SessionId = (string)mContainer.GenerateClientId(result); monitor.Client = result; return(result); }