public void Hiccuped(Pipe pipe) { if (m_options.DelayAttachOnConnect) pipe.Terminate(false); else // Notify derived sockets of the hiccup XHiccuped(pipe); }
/// <summary> /// Register the given pipe with this socket. /// </summary> /// <param name="pipe">the Pipe to attach</param> /// <param name="icanhasall">if true - subscribe to all data on the pipe (optional - default is false)</param> private void AttachPipe( Pipe pipe, bool icanhasall = false) { // First, register the pipe so that we can terminate it later on. pipe.SetEventSink(this); m_pipes.Add(pipe); // Let the derived socket type know about new pipe. XAttachPipe(pipe, icanhasall); // If the socket is already being closed, ask any new pipes to terminate // straight away. if (IsTerminating) { RegisterTermAcks(1); pipe.Terminate(false); } }