示例#1
0
                public Response Create(IMessageIO io)
                {
                    Response response = new Response();

                    response.AttachIO(io);
                    return(response);
                }
示例#2
0
                public Request Create(IMessageIO io)
                {
                    Request request = new Request();

                    request.AttachIO(io);
                    return(request);
                }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultMessageNetworkReceiver"/> class.
 /// </summary>
 /// <param name="messageIo">
 /// The <see cref="IMessageIO"/> interface.
 /// </param>
 /// <param name="unhandledExceptionLog">
 /// The <see cref="IUnhandledExceptionLog"/> interface.
 /// </param>
 public DefaultMessageNetworkReceiver(
     IMessageIO messageIo,
     IUnhandledExceptionLog unhandledExceptionLog,
     IClientLookup clientLookup)
 {
     this.m_MessageIo             = messageIo;
     this.m_UnhandledExceptionLog = unhandledExceptionLog;
     this.m_ClientLookup          = clientLookup;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultMessageNetworkReceiver"/> class.
 /// </summary>
 /// <param name="messageIo">
 /// The <see cref="IMessageIO"/> interface.
 /// </param>
 /// <param name="unhandledExceptionLog">
 /// The <see cref="IUnhandledExceptionLog"/> interface.
 /// </param>
 public DefaultMessageNetworkReceiver(
     IMessageIO messageIo,
     IUnhandledExceptionLog unhandledExceptionLog,
     IClientLookup clientLookup)
 {
     this.m_MessageIo = messageIo;
     this.m_UnhandledExceptionLog = unhandledExceptionLog;
     this.m_ClientLookup = clientLookup;
 }
示例#5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ListeningClientHandler"/> class.
        /// </summary>
        /// <param name="messageIo">
        /// The <see cref="IMessageIO"/> interface.
        /// </param>
        /// <param name="messageNetworkReceiver">
        /// The <see cref="IMessageNetworkReceiver"/> interface.
        /// </param>
        /// <param name="client">
        /// The TCP client that is associated with this handler.
        /// </param>
        /// <param name="messageHandlers">
        /// The message handlers.
        /// </param>
        public ListeningClientHandler(
            IMessageIO messageIo,
            IMessageNetworkReceiver messageNetworkReceiver,
            TcpClient client,
            IEnumerable <IMessageHandler> messageHandlers)
        {
            this.m_MessageIo = messageIo;
            this.m_MessageNetworkReceiver = messageNetworkReceiver;
            this.m_Client        = client;
            this.m_ReceiveThread = new Thread(this.Run)
            {
                Name = "Receive Thread for " + client.Client.RemoteEndPoint
            };

            this.m_HandlerMappings = messageHandlers.ToDictionary(k => k.GetMessageType(), v => v);
        }
示例#6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ActiveClientHandler"/> class.
        /// </summary>
        /// <param name="messageIo">
        /// The <see cref="IMessageIO"/> interface.
        /// </param>
        /// <param name="messageNetworkReceiver">
        /// The <see cref="IMessageNetworkReceiver"/> interface.
        /// </param>
        /// <param name="address">
        /// The address that this client handler should connect to.
        /// </param>
        /// <param name="port">
        /// The port that this client handler should connect to.
        /// </param>
        /// <param name="messageHandlers">
        /// The message handlers.
        /// </param>
        public ActiveClientHandler(
            IMessageIO messageIo,
            IMessageNetworkReceiver messageNetworkReceiver,
            IPAddress address,
            int port,
            IEnumerable <IMessageHandler> messageHandlers)
        {
            this.m_MessageIo = messageIo;
            this.m_MessageNetworkReceiver = messageNetworkReceiver;
            this.m_Client = new TcpClient();
            this.m_Client.Connect(new IPEndPoint(address, port));
            this.m_ReceiveThread = new Thread(this.Run)
            {
                Name = "Active Client Thread for " + this.m_Client.Client.RemoteEndPoint
            };

            this.m_HandlerMappings = messageHandlers.ToDictionary(k => k.GetMessageType(), v => v);
        }
示例#7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ListeningClientHandler"/> class.
        /// </summary>
        /// <param name="messageIo">
        /// The <see cref="IMessageIO"/> interface.
        /// </param>
        /// <param name="messageNetworkReceiver">
        /// The <see cref="IMessageNetworkReceiver"/> interface.
        /// </param>
        /// <param name="client">
        /// The TCP client that is associated with this handler.
        /// </param>
        /// <param name="messageHandlers">
        /// The message handlers.
        /// </param>
        public ListeningClientHandler(
            IMessageIO messageIo,
            IMessageNetworkReceiver messageNetworkReceiver,
            TcpClient client, 
            IEnumerable<IMessageHandler> messageHandlers)
        {
            this.m_MessageIo = messageIo;
            this.m_MessageNetworkReceiver = messageNetworkReceiver;
            this.m_Client = client;
            this.m_ReceiveThread = new Thread(this.Run) { Name = "Receive Thread for " + client.Client.RemoteEndPoint };

            this.m_HandlerMappings = messageHandlers.ToDictionary(k => k.GetMessageType(), v => v);
        }
示例#8
0
 public virtual Response AllocResponse(IMessageIO io)
 {
     return(responseCache.AllocResponse(io));
 }
示例#9
0
 public virtual Request AllocRequest(IMessageIO io)
 {
     return(requestCache.AllocRequest(io));
 }
示例#10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ActiveClientHandler"/> class.
        /// </summary>
        /// <param name="messageIo">
        /// The <see cref="IMessageIO"/> interface.
        /// </param>
        /// <param name="messageNetworkReceiver">
        /// The <see cref="IMessageNetworkReceiver"/> interface.
        /// </param>
        /// <param name="address">
        /// The address that this client handler should connect to.
        /// </param>
        /// <param name="port">
        /// The port that this client handler should connect to.
        /// </param>
        /// <param name="messageHandlers">
        /// The message handlers.
        /// </param>
        public ActiveClientHandler(
            IMessageIO messageIo,
            IMessageNetworkReceiver messageNetworkReceiver,
            IPAddress address, 
            int port, 
            IEnumerable<IMessageHandler> messageHandlers)
        {
            this.m_MessageIo = messageIo;
            this.m_MessageNetworkReceiver = messageNetworkReceiver;
            this.m_Client = new TcpClient();
            this.m_Client.Connect(new IPEndPoint(address, port));
            this.m_ReceiveThread = new Thread(this.Run)
            {
                Name = "Active Client Thread for " + this.m_Client.Client.RemoteEndPoint
            };

            this.m_HandlerMappings = messageHandlers.ToDictionary(k => k.GetMessageType(), v => v);
        }