public class Client extends ConnectionWithStatus implements ISaslClient
A Netty client for sending task messages to a remote destination (Netty server).
Implementation details:
Sending messages, i.e. writing to the channel, is performed asynchronously. Messages are sent in batches to optimize for network throughput at the expense of network latency. The message batch size is configurable. Connecting and reconnecting are performed asynchronously. Note: The current implementation drops any messages that are being enqueued for sending if the connection to the remote destination is currently unavailable.
ConnectionWithStatus.Status| Modifier and Type | Field and Description |
|---|---|
protected String |
dstAddressPrefixedName |
| Modifier and Type | Method and Description |
|---|---|
void |
channelReady(org.apache.storm.shade.io.netty.channel.Channel channel) |
void |
close()
Gracefully close this client.
|
Map<String,Object> |
getConfig() |
InetSocketAddress |
getDstAddress() |
Map<Integer,Load> |
getLoad(Collection<Integer> tasks)
Get the current load for the given tasks.
|
int |
getPort()
Get the port for this connection.
|
String |
name() |
String |
secretKey() |
void |
send(Iterator<TaskMessage> msgs)
Enqueue task messages to be sent to the remote destination (cf.
|
void |
sendBackPressureStatus(BackPressureStatus bpStatus)
Sends the back pressure metrics to all downstream connections.
|
void |
sendLoadMetrics(Map<Integer,Double> taskToLoad)
Send load metrics to all downstream connections.
|
ConnectionWithStatus.Status |
status()
Note: Storm will check via this method whether a worker can be activated safely during the initial startup of a topology.
|
String |
toString() |
protected final String dstAddressPrefixedName
public ConnectionWithStatus.Status status()
Note: Storm will check via this method whether a worker can be activated safely during the initial startup of a topology. The worker will only be activated once all of the its connections are ready.
status in class ConnectionWithStatuspublic void sendLoadMetrics(Map<Integer,Double> taskToLoad)
IConnectionSend load metrics to all downstream connections.
sendLoadMetrics in interface IConnectiontaskToLoad - a map from the task id to the load for that task.public void sendBackPressureStatus(BackPressureStatus bpStatus)
IConnectionSends the back pressure metrics to all downstream connections.
sendBackPressureStatus in interface IConnectionpublic void send(Iterator<TaskMessage> msgs)
Enqueue task messages to be sent to the remote destination (cf. host and port).
send in interface IConnectionpublic InetSocketAddress getDstAddress()
public int getPort()
IConnectionGet the port for this connection.
getPort in interface IConnectionpublic void close()
Gracefully close this client.
close in interface AutoCloseableclose in interface IConnectionpublic Map<Integer,Load> getLoad(Collection<Integer> tasks)
IConnectionGet the current load for the given tasks.
getLoad in interface IConnectiontasks - the tasks to look for.public void channelReady(org.apache.storm.shade.io.netty.channel.Channel channel)
channelReady in interface ISaslClientpublic String name()
name in interface ISaslClientpublic String secretKey()
secretKey in interface ISaslClientCopyright © 2021 The Apache Software Foundation. All rights reserved.