public class Client extends ConnectionWithStatus implements ISaslClient
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()
status
in class ConnectionWithStatus
public void sendLoadMetrics(Map<Integer,Double> taskToLoad)
IConnection
sendLoadMetrics
in interface IConnection
taskToLoad
- a map from the task id to the load for that task.public void sendBackPressureStatus(BackPressureStatus bpStatus)
IConnection
sendBackPressureStatus
in interface IConnection
public void send(Iterator<TaskMessage> msgs)
send
in interface IConnection
public InetSocketAddress getDstAddress()
public int getPort()
IConnection
getPort
in interface IConnection
public void close()
close
in interface AutoCloseable
close
in interface IConnection
public Map<Integer,Load> getLoad(Collection<Integer> tasks)
IConnection
getLoad
in interface IConnection
tasks
- the tasks to look for.public void channelReady(org.apache.storm.shade.io.netty.channel.Channel channel)
channelReady
in interface ISaslClient
public String name()
name
in interface ISaslClient
public String secretKey()
secretKey
in interface ISaslClient
Copyright © 2023 The Apache Software Foundation. All rights reserved.