Pack - PackParam - ParameterAck - Ack Packpublic class Resender<Pack,Param,Ack> extends Object implements Closeable
| 构造器和说明 |
|---|
Resender(java.util.function.BiPredicate<Pack,Ack> ackChecker,
ISender<Pack> realSender) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ack(Long busId,
Ack ackPack)
发送成功,则清除再发数据,并自动拉出下一条待发送数据。
|
void |
add(Long busId,
Pack pack,
java.time.LocalDateTime expiredTime,
boolean waitAck,
Param param)
注册一条新发送数据
|
protected void |
add(Long busId,
Pack pack,
java.time.LocalDateTime expiredTime,
boolean waitAck,
Param param,
ExceptionBiConsumer<Ack,ISendContext> sendResultHandler) |
Resender<Pack,Param,Ack> |
addSendAckEventListener(IAckEventListener<Pack,Param,Ack> lis)
注册发送应答事件监听器
|
Resender<Pack,Param,Ack> |
addSendEventListener(ISendEventListener<Pack,Param,Ack> lis)
注册发送事件监听器
|
Resender<Pack,Param,Ack> |
addSendExpiredEventListener(IExpiredEventListener<Pack,Param,Ack> lis)
注册发送过期事件监听器
|
Map<Long,Long> |
busPendingPackCountMap() |
void |
close() |
Resender<Pack,Param,Ack> |
resendSeconds(long resendSeconds) |
long |
sendingBusCount() |
String |
toString() |
public Resender(java.util.function.BiPredicate<Pack,Ack> ackChecker, ISender<Pack> realSender)
public void add(Long busId, Pack pack, java.time.LocalDateTime expiredTime, boolean waitAck, Param param)
busId - busIdpack - 指令expiredTime - 过期时间waitAck - 需要应答param - 可以添加一个附件,在重发、过期、ack回应事件触发时,可以利用。例如RowId等。也可不用。protected void add(Long busId, Pack pack, java.time.LocalDateTime expiredTime, boolean waitAck, Param param, ExceptionBiConsumer<Ack,ISendContext> sendResultHandler)
public void ack(Long busId, Ack ackPack)
busId - 终端唯一标识,可能是Long,也可能是StringackPack - 应答public long sendingBusCount()
public Resender<Pack,Param,Ack> addSendEventListener(ISendEventListener<Pack,Param,Ack> lis)
lis - 监听器public Resender<Pack,Param,Ack> addSendAckEventListener(IAckEventListener<Pack,Param,Ack> lis)
lis - 监听器public Resender<Pack,Param,Ack> addSendExpiredEventListener(IExpiredEventListener<Pack,Param,Ack> lis)
lis - 监听器public void close()
throws IOException
close 在接口中 Closeableclose 在接口中 AutoCloseableIOExceptionCopyright © 2022. All rights reserved.