static void WaitCallback(IAsyncResult result)
        {
            if (result.CompletedSynchronously)
            {
                return;
            }
            ;

            ListenerHandler  listenerHandler = (ListenerHandler)result.AsyncState;
            IChannelListener listener        = listenerHandler.listenerBinder.Listener;

            listenerHandler.acceptor.EndWaitForChannel(result);
            if (listenerHandler.AcceptChannel(listener))
            {
                listenerHandler.AsyncTransactedChannelPump();
            }
        }
        static void InitiateChannelPump(object state)
        {
            ListenerHandler listenerHandler = state as ListenerHandler;

            if (listenerHandler.ChannelDispatcher.IsTransactedAccept)
            {
                if (listenerHandler.ChannelDispatcher.AsynchronousTransactedAcceptEnabled)
                {
                    listenerHandler.AsyncTransactedChannelPump();
                }
                else
                {
                    listenerHandler.SyncTransactedChannelPump();
                }
            }
            else
            {
                listenerHandler.ChannelPump();
            }
        }