private void removeSession(SessionId multiplexerDefinedSessionId) { for (ConsumerId multiplexerConsumerId : multiplexerConsumerIdKeyMap.keySet()) { if (multiplexerConsumerId.getParentId().equals(multiplexerDefinedSessionId)) { removeConsumer(multiplexerConsumerId); } } for (Map.Entry<ProducerId, ProducerId> entry : producerIdMap.entrySet()) { if (entry.getValue().getParentId().equals(multiplexerDefinedSessionId)) { removeProducer(entry.getValue()); producerIdMap.remove(entry.getKey()); } } if (!multiplexerDefinedSessionId.equals(multiplexerSessionId)) { multiplexerConnectionStateRegister.removeSession(multiplexerDefinedSessionId); for (Map.Entry<SessionId, SessionId> entry : sessionIdMap.entrySet()) { if (entry.getValue().equals(multiplexerDefinedSessionId)) { sessionIdMap.remove(entry.getKey()); break; } } RemoveInfo removeInfo = new RemoveInfo(multiplexerDefinedSessionId); removeInfo.setLastDeliveredSequenceId(0); multiplexer.sendOutAll(this, removeInfo); } }
private void removeSession(SessionId multiplexerDefinedSessionId) { for (ConsumerId multiplexerConsumerId : multiplexerConsumerIdKeyMap.keySet()) { if (multiplexerConsumerId.getParentId().equals(multiplexerDefinedSessionId)) { removeConsumer(multiplexerConsumerId); } } for (Map.Entry<ProducerId, ProducerId> entry : producerIdMap.entrySet()) { if (entry.getValue().getParentId().equals(multiplexerDefinedSessionId)) { removeProducer(entry.getValue()); producerIdMap.remove(entry.getKey()); } } if (!multiplexerDefinedSessionId.equals(multiplexerSessionId)) { multiplexerConnectionStateRegister.removeSession(multiplexerDefinedSessionId); for (Map.Entry<SessionId, SessionId> entry : sessionIdMap.entrySet()) { if (entry.getValue().equals(multiplexerDefinedSessionId)) { sessionIdMap.remove(entry.getKey()); break; } } RemoveInfo removeInfo = new RemoveInfo(multiplexerDefinedSessionId); removeInfo.setLastDeliveredSequenceId(0); multiplexer.sendOutAll(this, removeInfo); } }