Exemplo n.º 1
0
 public void Hiccuped(Pipe pipe)
 {
     if (m_options.DelayAttachOnConnect)
         pipe.Terminate(false);
     else
         // Notify derived sockets of the hiccup
         XHiccuped(pipe);
 }
Exemplo n.º 2
0
        /// <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);
            }
        }