Example #1
0
        public List <ComputingNode> GetAllComputingNodes(IHandshake handshake, IIPAddressGenerator addressGenerator, int timeout)
        {
            List <ComputingNode> nodes = new List <ComputingNode>();

            foreach (IPAddress address in addressGenerator.GetIPAddresses())
            {
                int numberOfContainers = 0;
                try
                {
                    numberOfContainers = handshake.PerformHandshake(address, timeout);
                    nodes.Add(new ComputingNode
                    {
                        IPAddress          = address.ToString(),
                        NumberOfContainers = numberOfContainers
                    });
                }
                catch (MachineNotAvailableException)
                {
                }
                catch (RougeMachineException)
                {
                }
            }

            return(nodes);
        }
Example #2
0
 /// <summary>
 ///  初始化各种处理器
 /// </summary>
 /// <param name="factory">Session工厂</param>
 /// <param name="filter">连接过滤器</param>
 /// <param name="handshake">握手处理器</param>
 public AsyncTcpListener(ISessionFactory factory, ISocketFilter filter, IHandshake handshake)
 {
     m_sessionFactory = factory;
     m_filter = filter;
     m_handshake = handshake;
     if (m_filter != null && m_filter.IdleMilliseconds > 0)
     {
         m_queue = new System.Collections.Concurrent.ConcurrentQueue<StateObject>();
     }
 }
Example #3
0
        public Peer(TcpClient tcpClient, IHandshake handshake, IMessageHandler messageHandler, ILogger logger)
        {
            this.tcpClient      = tcpClient;
            this.handshake      = handshake;
            this.messageHandler = messageHandler;

            Logger = logger;

            NetworkStream clientStream = tcpClient.GetStream();

            clientStream.WriteTimeout = ClientWriteTimeout;

            clientReader = new StreamReader(clientStream, Encoding.UTF8);
            clientWriter = new StreamWriter(clientStream, Encoding.UTF8)
            {
                NewLine = "\n"
            };
        }
Example #4
0
 /// <summary>
 ///  初始化各种处理器
 /// </summary>
 /// <param name="factory">Session工厂</param>
 /// <param name="filter">连接过滤器</param>
 /// <param name="handshake">握手处理器</param>
 public GMService(ISessionFactory factory, ISocketFilter filter, IHandshake handshake)
     : base(factory, filter, handshake)
 {
 }
Example #5
0
 /// <summary>
 ///  初始化各种处理器
 /// </summary>
 /// <param name="factory">Session工厂</param>
 /// <param name="filter">连接过滤器</param>
 /// <param name="handshake">握手处理器</param>
 public AmfServer(ISessionFactory factory, ISocketFilter filter, IHandshake handshake)
     : base(factory, filter, handshake)
 {
 }