Esempio n. 1
0
 public NetworkClient(ClientBuilderOptions options,
                      IPacketSerialiser packetSerialiser,
                      IClientPacketProcessor packetProcessor,
                      ILogger <NetworkClient> logger)
 {
     this.options          = options;
     this.packetSerialiser = packetSerialiser;
     this.packetProcessor  = packetProcessor;
     this.logger           = logger;
 }
Esempio n. 2
0
        public Server(ServerBuilderOptions options,
                      ITcpConnections tcpConnections,
                      ITcpSocketListenerFactory tcpSocketListenerFactory,
                      IUdpSocketListener udpSocketListener,
                      IBufferManager bufferManager,
                      IServerInformation serverInformation,
                      IPacketSerialiser packetSerialiser)
        {
            this.options          = options;
            this.tcpConnections   = tcpConnections;
            Information           = serverInformation;
            this.packetSerialiser = packetSerialiser;
            bufferManager.InitBuffer();

            if (options.TcpPort > 0)
            {
                TcpListener = tcpSocketListenerFactory.Create();
            }

            if (options.UdpPort > 0)
            {
                UdpListener = udpSocketListener;
            }

            Task.Factory.StartNew(() =>
            {
                while (Information.IsRunning)
                {
                    if (eventArgs == null)
                    {
                        eventArgs = new ServerInformationEventArgs();
                    }

                    eventArgs.ProcessedTcpPackets =
                        serverInformation.ProcessedTcpPackets;
                    eventArgs.InvalidTcpPackets =
                        serverInformation.InvalidTcpPackets;
                    eventArgs.ProcessedUdpPackets =
                        serverInformation.ProcessedUdpPackets;
                    eventArgs.InvalidUdpPackets =
                        serverInformation.InvalidUdpPackets;
                    eventArgs.TcpConnections = tcpConnections.GetConnections()
                                               .Count;

                    ServerInformationUpdated?.Invoke(this, eventArgs);

                    Information.ProcessedTcpPackets = 0;
                    Information.InvalidTcpPackets   = 0;
                    Information.ProcessedUdpPackets = 0;
                    Information.InvalidUdpPackets   = 0;

                    Thread.Sleep(10000);
                }
            });
        }
Esempio n. 3
0
 public Client(ClientBuilderOptions options,
               IPacketSerialiser packetSerialiser,
               IClientPacketProcessor packetProcessor,
               ILogger <Client> logger)
 {
     this.options          = options;
     this.packetSerialiser = packetSerialiser;
     this.packetProcessor  = packetProcessor;
     this.logger           = logger;
     this.pingPacketBuffer = Encoding.ASCII.GetBytes("aaaaaaaaaaaaaaaaaaaaaaaa");
     this.pingOptions      = new PingOptions(64, true);
 }
 public ClientConfigurationPacketHandler(IPacketSerialiser packetSerialiser,
                                         INetworkClient client,
                                         IServiceController serviceController,
                                         IAudioRecorderService recorderService,
                                         ICameraRecorderService cameraRecorderService,
                                         ILocalizationService localizationService)
     : base(packetSerialiser)
 {
     this.client                = client;
     this.serviceController     = serviceController;
     this.recorderService       = recorderService;
     this.cameraRecorderService = cameraRecorderService;
     this.localizationService   = localizationService;
 }
Esempio n. 5
0
        public ClientPacketProcessor(ClientBuilderOptions options,
                                     IPacketSerialiser packetSerialiser,
                                     ILogger <ClientPacketProcessor> logger,
                                     IPacketHandlers packetHandlers)
        {
            this.options          = options;
            this.packetSerialiser = packetSerialiser;
            this.logger           = logger;
            this.packetHandlers   = packetHandlers;

            tcpSenderObjectPool = new ObjectPool <ISender>(options.ObjectPoolSize);

            for (var i = 0; i < tcpSenderObjectPool.Capacity; i++)
            {
                tcpSenderObjectPool.Push(new TcpSender(packetSerialiser));
            }

            udpSenderObjectPool = new ObjectPool <ISender>(options.ObjectPoolSize);

            for (var i = 0; i < udpSenderObjectPool.Capacity; i++)
            {
                udpSenderObjectPool.Push(new UdpSender(_udpSocketSender));
            }

            _packetContextObjectPool = new ObjectPool <IPacketContext>(options.ObjectPoolSize * 2);

            for (var i = 0; i < _packetContextObjectPool.Capacity; i++)
            {
                _packetContextObjectPool.Push(new PacketContext()
                {
                    Serialiser = this.packetSerialiser
                });
            }

            bytePool = new ObjectPool <byte[]>(options.ObjectPoolSize);

            for (var i = 0; i < bytePool.Capacity; i++)
            {
                bytePool.Push(new byte[options.PacketSizeBuffer]);
            }
        }
Esempio n. 6
0
 public PingPacketHandler(ILogger logger, IPacketSerialiser serialiser)
     : base(serialiser)
 {
     this.logger = logger;
 }
Esempio n. 7
0
 public TcpSender(IPacketSerialiser packetSerialiser)
 {
     this.packetSerialiser = packetSerialiser;
 }
Esempio n. 8
0
 public WPFNv21VideoPacketHandler(IPacketSerialiser packetSerialiser)
     : base(packetSerialiser)
 {
 }
Esempio n. 9
0
 public TestPacketTwoHandler(IPacketSerialiser packetSerialiser)
     : base(packetSerialiser)
 {
 }
Esempio n. 10
0
 public ClientPingPacketHandler(IPacketSerialiser packetSerialiser)
     : base(packetSerialiser)
 {
 }
Esempio n. 11
0
 protected PacketHandlerBase()
 {
     this.PacketSerialiser = PacketSerialiserProvider.Provide();
 }
Esempio n. 12
0
 protected PacketHandlerBase(IPacketSerialiser packetSerialiser)
 {
     this.PacketSerialiser = packetSerialiser;
 }
Esempio n. 13
0
 public UdpSocketSender(IUdpSocketListener udpSocketListener, IPacketSerialiser packetSerialiser)
 {
     _udpSocketListener = udpSocketListener;
     _packetSerialiser  = packetSerialiser;
 }
Esempio n. 14
0
 public PingPacketHandler(ILogger <PingPacketHandler> logger, IPacketSerialiser serialiser)
 {
     this.logger = logger;
 }