1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package net.anyflow.lannister.packetreceiver;
18
19 import io.netty.channel.ChannelHandlerContext;
20 import net.anyflow.lannister.message.OutboundMessageStatus;
21 import net.anyflow.lannister.session.Session;
22
23 public class PubCompReceiver {
24 private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(PubCompReceiver.class);
25
26 public static final PubCompReceiver SHARED = new PubCompReceiver();
27
28 private PubCompReceiver() {
29 }
30
31 protected void handle(ChannelHandlerContext ctx, Session session, int messageId) {
32 OutboundMessageStatus status = OutboundMessageStatus.NEXUS.removeByKey(messageId, session.clientId());
33 if (status == null) {
34 logger.error("PUBCOMP target does not exist [clientId={}, messageId={}]", session.clientId(), messageId);
35 session.dispose(true);
36 return;
37 }
38
39 logger.debug("Outbound message status REMOVED [clientId={}, messageId={}]", session.clientId(), messageId);
40 }
41 }