/** * We have received {@link PacketTypes#SESSION_PART1} packet. Waiting for part2 or continue if it has got already. * @param packet received {@link Packet} */ private void onReceiveSessionPart1(Packet packet) { report(logLabel, ()->"received session_part1 from " + packet.senderNodeId, VerboseLevel.BASE); Session session = getOrCreateSession(packet.senderNodeId); if (session != null) { session.protectFromDuples(packet.packetId, ()->{ session.removeHandshakePacketsFromRetransmitMap(); if ((session.state.get() == Session.STATE_HANDSHAKE) && (session.handshakeStep.get() == Session.HANDSHAKE_STEP_WAIT_FOR_SESSION)) { session.handshake_sessionPart1 = packet.payload; onReceiveSession(session); } }); } }
/** * We have received {@link PacketTypes#SESSION_PART2} packet. Waiting for part1 or continue if it has got already. * @param packet received {@link Packet} */ private void onReceiveSessionPart2(Packet packet) { report(logLabel, ()->"received session_part2 from " + packet.senderNodeId, VerboseLevel.BASE); Session session = getOrCreateSession(packet.senderNodeId); if (session != null) { session.protectFromDuples(packet.packetId, ()->{ session.removeHandshakePacketsFromRetransmitMap(); if ((session.state.get() == Session.STATE_HANDSHAKE) && (session.handshakeStep.get() == Session.HANDSHAKE_STEP_WAIT_FOR_SESSION)) { session.handshake_sessionPart2 = packet.payload; onReceiveSession(session); } }); } }