Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redesign connection activation #697

Closed
mp911de opened this issue Feb 16, 2018 · 0 comments
Closed

Redesign connection activation #697

mp911de opened this issue Feb 16, 2018 · 0 comments
Labels
type: feature A new feature
Milestone

Comments

@mp911de
Copy link
Collaborator

mp911de commented Feb 16, 2018

Connection activation right now reissues state commands required for restoring the connection state. Commands are written as regular commands which can interfere with request queue sizes. Also, subsequent activations can cause maintenance commands to pile up - i.e. activations get interrupted/disconnected and maintenance commands are dequeued into the disconnected buffer and replayed.

@mp911de mp911de added this to the Backlog milestone Jan 12, 2019
@mp911de mp911de modified the milestones: Backlog, 6.0 M1 Dec 28, 2019
mp911de added a commit that referenced this issue Dec 28, 2019
Connections are now initialized with a ConnectionInitializer that performs the Handshake and issues initialization commands after the handshake. The ConnectionState keeps track of the desired state and applies it on connect and reconnect. This change removes the need to track the state of each connection flag in each connection implementation and moves all flags into a single state object.

The initialization/handshake future is now also provided by RedisHandshakeHandler instead of living in various initializer types.

The handshake for SSL and plaintext connections became simpler and easier to find.

Centralizing the handshake is a pre-requisite for protocol version negotiation.
@mp911de mp911de closed this as completed Dec 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature A new feature
Projects
None yet
Development

No branches or pull requests

1 participant