public class TcpNettyModbusClient extends net.solarnetwork.io.modbus.netty.handler.NettyModbusClient<TcpModbusClientConfig>
ModbusClient.| Constructor and Description |
|---|
TcpNettyModbusClient(TcpModbusClientConfig clientConfig)
Constructor.
|
TcpNettyModbusClient(TcpModbusClientConfig clientConfig,
ConcurrentMap<net.solarnetwork.io.modbus.ModbusMessage,net.solarnetwork.io.modbus.netty.handler.NettyModbusClient.PendingMessage> pending,
ConcurrentMap<Integer,TcpModbusMessage> pendingMessages,
IntSupplier transactionIdSupplier)
Constructor.
|
TcpNettyModbusClient(TcpModbusClientConfig clientConfig,
io.netty.channel.EventLoopGroup eventLoopGroup,
Class<? extends io.netty.channel.Channel> channelClass)
Constructor.
|
TcpNettyModbusClient(TcpModbusClientConfig clientConfig,
ScheduledExecutorService scheduler,
ConcurrentMap<net.solarnetwork.io.modbus.ModbusMessage,net.solarnetwork.io.modbus.netty.handler.NettyModbusClient.PendingMessage> pending,
io.netty.channel.EventLoopGroup eventLoopGroup,
Class<? extends io.netty.channel.Channel> channelClass,
ConcurrentMap<Integer,TcpModbusMessage> pendingMessages,
IntSupplier transactionIdSupplier)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected io.netty.channel.ChannelFuture |
connect() |
protected void |
initChannel(io.netty.channel.Channel channel) |
CompletableFuture<?> |
stop() |
getClientConfig, getConnectionObserver, getPendingMessageTtl, getReplyTimeout, isConnected, isStarted, isWireLogging, newModbusChannelHandler, send, sendAsync, setConnectionObserver, setPendingMessageTtl, setReplyTimeout, setWireLogging, startpublic TcpNettyModbusClient(TcpModbusClientConfig clientConfig)
A default EventLoopGroup will be used.
clientConfig - the client configurationpublic TcpNettyModbusClient(TcpModbusClientConfig clientConfig, io.netty.channel.EventLoopGroup eventLoopGroup, Class<? extends io.netty.channel.Channel> channelClass)
clientConfig - the client configurationeventLoopGroup - the event loop group, or null to create an internal onechannelClass - the channel class, or null to use a default
EventLoopGrouppublic TcpNettyModbusClient(TcpModbusClientConfig clientConfig, ConcurrentMap<net.solarnetwork.io.modbus.ModbusMessage,net.solarnetwork.io.modbus.netty.handler.NettyModbusClient.PendingMessage> pending, ConcurrentMap<Integer,TcpModbusMessage> pendingMessages, IntSupplier transactionIdSupplier)
A default EventLoopGroup will be used.
clientConfig - the client configurationpending - a map for request messages pending responsespendingMessages - a mapping of transaction IDs to associated pendingMessages, to
handle request and response pairingtransactionIdSupplier - a TCP Modbus transaction ID supplier; only values from 1-65535
should be suppliedIllegalArgumentException - if any argument is nullpublic TcpNettyModbusClient(TcpModbusClientConfig clientConfig, ScheduledExecutorService scheduler, ConcurrentMap<net.solarnetwork.io.modbus.ModbusMessage,net.solarnetwork.io.modbus.netty.handler.NettyModbusClient.PendingMessage> pending, io.netty.channel.EventLoopGroup eventLoopGroup, Class<? extends io.netty.channel.Channel> channelClass, ConcurrentMap<Integer,TcpModbusMessage> pendingMessages, IntSupplier transactionIdSupplier)
clientConfig - the client configurationscheduler - the scheduler, or null to create an internal onepending - a map for request messages pending responseseventLoopGroup - the event loop group, or null to create an internal onechannelClass - the channel class, or null to use a default
EventLoopGrouppendingMessages - a mapping of transaction IDs to associated pendingMessages, to
handle request and response pairingtransactionIdSupplier - a TCP Modbus transaction ID supplier; only values from 1-65535
should be suppliedIllegalArgumentException - if any argument is nullprotected io.netty.channel.ChannelFuture connect()
throws IOException
connect in class net.solarnetwork.io.modbus.netty.handler.NettyModbusClient<TcpModbusClientConfig>IOExceptionpublic CompletableFuture<?> stop()
stop in interface net.solarnetwork.io.modbus.ModbusClientstop in class net.solarnetwork.io.modbus.netty.handler.NettyModbusClient<TcpModbusClientConfig>protected void initChannel(io.netty.channel.Channel channel)
initChannel in class net.solarnetwork.io.modbus.netty.handler.NettyModbusClient<TcpModbusClientConfig>