public ProtocolReader(RedisSettings settings, ProtocolEncoder encoder, Stream stream) : base(settings) { _stream = stream; _reader = new RedisReader(stream, settings); _encoder = encoder; }
public ProtocolWriter(RedisSettings settings, ProtocolEncoder encoder, Stream stream) : base(settings) { _stream = stream; _writer = new RedisWriter(stream, settings); _encoder = encoder; AutoFlush = false; }
internal RedisClientBase(Stream incoming, Stream outgoing) : base(RedisSettings.Default) { _executor = new ImmediateExecutor(); _executor.Init(this); _socket = null; _stream = null; _encoder = new ProtocolEncoder(Settings); _reader = new ProtocolReader(Settings, _encoder, incoming); _writer = new ProtocolWriter(Settings, _encoder, outgoing); }
public virtual void Reset() { _disposing = _disposed = false; _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); _socket.ReceiveBufferSize = Settings.ReadBufferSize; _socket.SendBufferSize = Settings.WriteBufferSize; _socket.NoDelay = true; // TODO: split timeout settings so both can be set separately _socket.ReceiveTimeout = Settings.ConnectionTimeout; _socket.SendTimeout = Settings.ConnectionTimeout; _socket.Connect(Settings.Host, Settings.Port); _stream = new NetworkStream(_socket, FileAccess.ReadWrite, true); _encoder = new ProtocolEncoder(Settings); _reader = new ProtocolReader(Settings, _encoder, _stream); _writer = new ProtocolWriter(Settings, _encoder, _stream); }