/// <summary>
        /// Creates TransportContext with the default settings.
        /// </summary>
        /// <param name="properties">Channel's parameters.</param>
        /// <param name="defaultTransportUser">Default Transport User.</param>
        /// <returns>The transport context with default transport capabilities.</returns>
        public static ITransportContext CreateDefaultSharedMemoryContext(IDictionary properties, ITransportUser defaultTransportUser)
        {
            TransportContext transportContext = new TransportContext();
            transportContext._iKeyStore = new KeyStore();
            transportContext._knownHosts = new KnownHosts(transportContext);
            transportContext._iParameterProvider = new ReadingCascadeParameterProvider(properties, new DefaultParameterProvider());
            transportContext._iGenuineEventProvider = new GenuineEventProvider(transportContext);
            //			transportContext._iEventLogger = GenuineLoggingServices.BinaryLogWriter;
            transportContext._directExchangeManager = new DirectExchangeManager(transportContext);
            transportContext._connectionManager = new SharedMemoryConnectionManager(transportContext);
            transportContext._iIncomingStreamHandler = new GenuineReceivingHandler(transportContext, defaultTransportUser);

            return transportContext;
        }
 /// <summary>
 /// Constructs an instance of the GenuineReceivingHandler class.
 /// </summary>
 /// <param name="iTransportContext">Transport context.</param>
 /// <param name="defaultTransportUser">Default transport user.</param>
 public GenuineReceivingHandler(ITransportContext iTransportContext, ITransportUser defaultTransportUser)
 {
     this.ITransportContext = iTransportContext;
     this.DefaultTransportUser = defaultTransportUser;
     this._waitCallback_InternalExecuteMessagewaitCallback = new WaitCallback(this.InternalExecuteMessage);
     TimerProvider.Attach(this);
 }
 /// <summary>
 /// Associates the specified transport user with the specified name.
 /// </summary>
 /// <param name="name">The name to associate the transport user with.</param>
 /// <param name="transportUser">The transport user.</param>
 public void RegisterTransportUser(string name, ITransportUser transportUser)
 {
     this._transportUsers[name] = transportUser;
 }
        /// <summary>
        /// Creates TransportContext with the default settings.
        /// </summary>
        /// <param name="properties">Channel's parameters.</param>
        /// <param name="defaultTransportUser">Default Transport User.</param>
        /// <returns>The transport context with default transport capabilities.</returns>
        public static ITransportContext CreateDefaultUdpContext(IDictionary properties, ITransportUser defaultTransportUser)
        {
            TransportContext transportContext = new TransportContext();

            transportContext._iKeyStore             = new KeyStore();
            transportContext._knownHosts            = new KnownHosts(transportContext);
            transportContext._iParameterProvider    = new ReadingCascadeParameterProvider(properties, new DefaultParameterProvider());
            transportContext._iGenuineEventProvider = new GenuineEventProvider(transportContext);
//			transportContext._iEventLogger = GenuineLoggingServices.BinaryLogWriter;
            transportContext._directExchangeManager  = new DirectExchangeManager(transportContext);
            transportContext._connectionManager      = new UdpConnectionManager(transportContext);
            transportContext._iIncomingStreamHandler = new GenuineReceivingHandler(transportContext, defaultTransportUser);

            return(transportContext);
        }