/// <summary> /// Creates a new <see cref="LiteClientReceiver"/> instance with the given <see cref="ILitePacketProcessor"/> /// and a client buffer size. /// </summary> /// <param name="packetProcessor">Current packet processor used in the client.</param> /// <param name="receiveStrategy">The receive strategy type for every received message.</param> /// <param name="bufferSize">Buffer size defined in client configuration.</param> public LiteClientReceiver(ILitePacketProcessor packetProcessor, ReceiveStrategyType receiveStrategy, int bufferSize) : base(packetProcessor, receiveStrategy) { _buffer = new byte[bufferSize]; _socketEvent = new SocketAsyncEventArgs(); _socketEvent.Completed += OnCompleted; _socketEvent.SetBuffer(_buffer, 0, _buffer.Length); }
public LitePacketParserTests() { _packetProcessor = new LitePacketProcessor(); _buffer = new List <int>(new[] { 16, 0, 0, 0, 12, 0, 0, 0, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33 }).Select(x => (byte)x).ToArray(); _bufferHeader = _buffer.Take(_packetProcessor.HeaderSize).ToArray(); _bufferContent = _buffer.Skip(_packetProcessor.HeaderSize).ToArray(); _messageContent = Encoding.UTF8.GetString(_bufferContent.Skip(sizeof(int)).ToArray()); _invalidBuffer = new List <int>(new[] { 255, 255, 255, 255, 12, 0, 0, 0, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33 }).Select(x => (byte)x).ToArray(); }
/// <summary> /// Creates a new <see cref="LiteServer{TUser}"/> instance with a server configuration /// and a service provider. /// </summary> /// <param name="configuration">Server configuration.</param> /// <param name="serviceProvider">Service provider to use.</param> public LiteServer(LiteServerOptions configuration, IServiceProvider?serviceProvider) { Options = configuration; _packetProcessor = configuration.PacketProcessor; _serviceProvider = serviceProvider !; _connectedUsers = new ConcurrentDictionary <Guid, TUser>(); _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); _socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1); if (serviceProvider is not null) { _logger = serviceProvider.GetService <ILogger <LiteServer <TUser> > >(); } _acceptor = new LiteServerAcceptor(_socket); _acceptor.OnClientAccepted += OnClientAccepted; _acceptor.OnError += OnAcceptorError; _receiver = new LiteServerReceiver(_packetProcessor, Options.ReceiveStrategy, Options.ClientBufferSize); _receiver.Disconnected += OnDisconnected; _receiver.Error += OnReceiverError; }
public CustomServer(LiteServerConfiguration configuration, ILitePacketProcessor packetProcessor = null, IServiceProvider serviceProvider = null) : base(configuration, packetProcessor, serviceProvider) { }
/// <summary> /// Creates and initializes a new <see cref="LiteServerOptions"/> instance /// with a default <see cref="LitePacketProcessor"/>. /// </summary> public LiteServerOptions() { PacketProcessor = new LitePacketProcessor(); }
/// <summary> /// Creates a new <see cref="LiteReceiver"/> instance with a <see cref="ILitePacketProcessor"/> and a <see cref="ReceiveStrategyType"/>. /// </summary> /// <param name="packetProcessor">Packet processor to process incoming data and convert it into an exploitable packet stream.</param> /// <param name="receiveStrategy">A <see cref="ReceiveStrategyType"/> to use.</param> protected LiteReceiver(ILitePacketProcessor packetProcessor, ReceiveStrategyType receiveStrategy) { _packetProcessor = packetProcessor; ReceiveStrategy = receiveStrategy; _packetParser = new LitePacketParser(_packetProcessor); }
/// <summary> /// Creates and initializes a new <see cref="LiteServerBuilderOptions"/> instance /// with a default <see cref="LitePacketProcessor"/>. /// </summary> internal LiteServerBuilderOptions() { PacketProcessor = new LitePacketProcessor(); }
/// <summary> /// Creates a new <see cref="LiteServerReceiver"/> instance with the given <see cref="ILitePacketProcessor"/> /// and a client buffer size. /// </summary> /// <param name="packetProcessor">Current packet processor used in the server.</param> /// <param name="receiveStrategy">The receive strategy type for every received message.</param> /// <param name="clientBufferSize">Client buffer size defined in server configuration.</param> public LiteServerReceiver(ILitePacketProcessor packetProcessor, ReceiveStrategyType receiveStrategy, int clientBufferSize) : base(packetProcessor, receiveStrategy) { _readPool = ObjectPool.Create <SocketAsyncEventArgs>(); _clientBufferSize = clientBufferSize; }
/// <summary> /// Creates and initializes a new <see cref="LiteClientOptions"/> instance /// with a default <see cref="LitePacketProcessor"/>. /// </summary> public LiteClientOptions() { PacketProcessor = new LitePacketProcessor(); }
public DefaultPacketProcessorTests() { _faker = new Faker(); _packetProcessor = new LitePacketProcessor(); }
/// <summary> /// Creates a new <see cref="LitePacketParser"/> instance with an <see cref="ILitePacketProcessor"/>. /// </summary> /// <param name="packetProcessor">Packet processor used to parse the incoming data.</param> public LitePacketParser(ILitePacketProcessor packetProcessor) { _packetProcessor = packetProcessor; }
/// <summary> /// Creates a new <see cref="LiteServer{TUser}"/> instance with a server configuration /// and a <see cref="ILitePacketProcessor"/>. /// </summary> /// <param name="configuration">Server configuration</param> /// <param name="packetProcessor">A <see cref="ILitePacketProcessor"/> to use.</param> public LiteServer(LiteServerConfiguration configuration, ILitePacketProcessor packetProcessor) : this(configuration, packetProcessor, null) { }