abstract class ConnectionFlowStep extends Object
ConnectionFlow
.Modifier and Type | Field and Description |
---|---|
private ProxyConnection |
connection |
private ProxyConnectionLogger |
LOG |
private ConnectionState |
state |
Constructor and Description |
---|
ConnectionFlowStep(ProxyConnection connection,
ConnectionState state)
Construct a new step in a connection flow.
|
Modifier and Type | Method and Description |
---|---|
protected abstract io.netty.util.concurrent.Future |
execute()
Implement this method to actually do the work involved in this step of
the flow.
|
(package private) ProxyConnection |
getConnection() |
(package private) ConnectionState |
getState() |
(package private) void |
onSuccess(ConnectionFlow flow)
When the flow determines that this step was successful, it calls into
this method.
|
(package private) void |
read(ConnectionFlow flow,
Object msg)
Any messages that are read from the underlying connection while we're at
this step of the connection flow are passed to this method.
|
(package private) boolean |
shouldExecuteOnEventLoop()
Indicates whether or not this step should be executed on the channel's
event loop.
|
(package private) boolean |
shouldSuppressInitialRequest()
Indicates whether or not to suppress the initial request.
|
String |
toString() |
private final ProxyConnectionLogger LOG
private final ProxyConnection connection
private final ConnectionState state
ConnectionFlowStep(ProxyConnection connection, ConnectionState state)
connection
- the connection that we're working onstate
- the state that the connection will show while we're processing
this stepProxyConnection getConnection()
ConnectionState getState()
boolean shouldSuppressInitialRequest()
boolean shouldExecuteOnEventLoop()
Indicates whether or not this step should be executed on the channel's event loop. Defaults to true, can be overridden.
If this step modifies the pipeline, for example by adding/removing handlers, it's best to make it execute on the event loop.
protected abstract io.netty.util.concurrent.Future execute()
void onSuccess(ConnectionFlow flow)
flow
- void read(ConnectionFlow flow, Object msg)
Any messages that are read from the underlying connection while we're at this step of the connection flow are passed to this method.
The default implementation ignores the message and logs this, since we weren't really expecting a message here.
Some ConnectionFlowStep
s do need to read the messages, so they
override this method as appropriate.
flow
- our ConnectionFlow
msg
- the message read from the underlying connectionCopyright © 2009–2019 LittleShoot. All rights reserved.