Example #1
0
        public void Test1()
        {
            _server_api = new OpenServerApi("./server_information.json");
            _server_mapper = new ServerEntityMapper();
            _server_repository = new ServerRepository(_server_api, _server_mapper);

            _server_creator = new ServerCreatorRequest(_server_repository);
            _server_activator = new ServerActivatorRequest(_server_repository);

            ServerEntity server = _server_creator.Handle(666);

            Assert.IsNotNull(server);
            Assert.AreEqual(666, server.Port);

            ServerEntity server2 = _server_creator.Handle(667);

            Assert.IsNotNull(server2);
            Assert.AreEqual(667, server2.Port);
            Assert.AreEqual(666, server.Port);

            Assert.AreNotSame(server, server2);

            server = _server_activator.Handle(server, true, new ServerAcceptCallback(server));

            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 666));

            Assert.AreEqual(true, socket.Connected);
            Assert.AreEqual(true, server.IsRunning);
            Assert.AreEqual(false, server2.IsRunning);

            server = _server_activator.Handle(server, false, null);

            Assert.AreEqual(false, server.IsRunning);
        }
Example #2
0
 public ServerEntity Active(bool active, int port)
 {
     if (active)
     {
         ServerEntity result = _server_creator.Handle(port);
         result = _server_activator.Handle(result, active, new DofusServerAcceptCallback(result));
         return(result);
     }
     else
     {
         if (_server_repository.Remove(x => x.Port == port))
         {
             return(null);
         }
         throw new ArgumentNullException($"cannot disable proxy with port : {port}");
     }
 }