protected override void OnOpen(TimeSpan timeout) { IRelayedOnewaySender relayedOnewaySender = this.connection; if (relayedOnewaySender != null) { relayedOnewaySender.Open(timeout); } }
protected override IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state) { IRelayedOnewaySender relayedOnewaySender = this.connection; if (relayedOnewaySender == null) { return(new CompletedAsyncResult(callback, state)); } IRelayedOnewaySender relayedOnewaySender1 = relayedOnewaySender; IRelayedOnewaySender relayedOnewaySender2 = relayedOnewaySender; return(new DelegatingAsyncResult(new Func <TimeSpan, AsyncCallback, object, IAsyncResult>(relayedOnewaySender1.BeginOpen), new Action <IAsyncResult>(relayedOnewaySender2.EndOpen), timeout, callback, state)); }
protected override void OnAbort() { IRelayedOnewaySender relayedOnewaySender; lock (base.ThisLock) { relayedOnewaySender = this.connection; this.connection = null; } if (relayedOnewaySender != null) { relayedOnewaySender.Abort(); } }
protected override void OnClose(TimeSpan timeout) { TimeoutHelper timeoutHelper = new TimeoutHelper(timeout); IRelayedOnewaySender relayedOnewaySender = null; lock (base.ThisLock) { relayedOnewaySender = this.connection; this.connection = null; } if (relayedOnewaySender != null) { relayedOnewaySender.Close(timeoutHelper.RemainingTime()); } }
public RelayedOnewayOutputChannel(RelayedOnewayChannelFactory channelFactory, BindingContext context, RelayedOnewayTransportBindingElement transportBindingElement, EndpointAddress to, Uri via) : base(channelFactory) { this.to = to; this.via = via; this.connection = RelayedOnewayManager.CreateConnection(context, transportBindingElement, via); }