TCPRelayClient, but exending from the
BufferedRelayClient such that the RelayRPC can distinguish between buffered and unbuffered
connections.TCPRelayServer, but instead of sending messages
immediately to the unreachable peer, messages are buffered for a certain time.MessageBuffer.flushNow().ConcurrentCacheMapRelayUtils.encodeMessage(Message, SignatureFactory)}.MessageUtils#decodeMessage(Buffer, InetSocketAddress, InetSocketAddress, SignatureFactory), but
in addition checks that the relay peers of the decoded message are set correctlyExternalAddressRequestMessage.Dispatcher and handles the reverse
connection at each step.Peer.Thread specifically for the
HolePuncher.MapRequestMessage.BaseRelayClient.addCloseListener(RelayListener)PeerMapUpdateTask failed to send the new map.PeerMapUpdateTask successfully sent the map
to the relay peer.BaseRelayServer detects that the unreachable peer is now offline.PeerNAT is started.PeerConnection to an unreachable (behind a NAT) peer using an active
relay of the unreachable peer.HolePunchScheduler.Copyright © 2015. All rights reserved.