Packages that use OutboundEstablishState
Package
Description
SSU2, the UDP transport: datagram sessions with Holepunch peer discovery, plus the older SSU compatibility code.
Uses of OutboundEstablishState in net.i2p.router.transport.udp
Subclasses of OutboundEstablishState in net.i2p.router.transport.udpModifier and TypeClassDescription(package private) classData for a new connection being established, where we initiated the connection with a remote peer.Fields in net.i2p.router.transport.udp with type parameters of type OutboundEstablishStateModifier and TypeFieldDescriptionprivate final ConcurrentHashMap<Long, OutboundEstablishState> EstablishmentManager._liveIntroductionsMap of nonce (Long) to OutboundEstablishState.private final ConcurrentHashMap<RemoteHostId, OutboundEstablishState> EstablishmentManager._outboundByClaimedAddressMap of claimed IP/port to OutboundEstablishState.private final ConcurrentHashMap<Hash, OutboundEstablishState> EstablishmentManager._outboundByHashMap of router hash to OutboundEstablishState.private final ConcurrentHashMap<RemoteHostId, OutboundEstablishState> EstablishmentManager._outboundStatesMap of RemoteHostId to OutboundEstablishState.Methods in net.i2p.router.transport.udp that return OutboundEstablishStateModifier and TypeMethodDescriptionprivate OutboundEstablishStateEstablishmentManager.createOutboundState(OutNetMessage msg, RemoteHostId to, RemoteHostId maybeTo, RouterIdentity toIdentity, boolean isIndirect, UDPAddress addr, RouterAddress ra, Hash toHash, String truncHash, String ipAddress, int maybePort, long now, boolean isBanned) Create a new outbound establish state for the peer, after verifying that its introducers, MTU, and introduction key are usable.private OutboundEstablishStateEstablishmentManager.findHolePunchState(RemoteHostId id, long nonce) Find the outbound establish state this HolePunch belongs to.(package private) OutboundEstablishStateEstablishmentManager.getOutboundState(RemoteHostId from) Grab the active establishing state.private OutboundEstablishStateEstablishmentManager.lookupOutboundState(RemoteHostId to, Hash toHash) Look up an existing outbound establish state for the peer, first by address, then by hash (for indirect connections).Methods in net.i2p.router.transport.udp with parameters of type OutboundEstablishStateModifier and TypeMethodDescriptionprivate voidEstablishmentManager.banAndFailState(OutboundEstablishState state, String reason, long banDuration) Ban the peer and fail the outbound establish state for bad introduction data.private PeerStateEstablishmentManager.handleCompletelyEstablished(OutboundEstablishState state) Ok, fully received, add it to the established cons and send any queued messages.private voidEstablishmentManager.handlePendingIntro(OutboundEstablishState state) Send RelayRequests to multiple introducers.private voidEstablishmentManager.processExpired(OutboundEstablishState outboundState) Caller should probably synch on outboundState.(package private) PeerStateEstablishmentManager.receiveData(OutboundEstablishState state) A data packet arrived on an outbound connection being established, which means its complete (yay!).(package private) voidEstablishmentManager.receiveSessionDestroy(RemoteHostId from, OutboundEstablishState state) Got a SessionDestroy during outbound establishprivate voidEstablishmentManager.sendConfirmation(OutboundEstablishState state) SSU 2.private booleanEstablishmentManager.sendRelayRequest(long tag, PeerState2 bob, OutboundEstablishState charlie) We are Alice, send a RelayRequest to Bob.private voidEstablishmentManager.sendRequest(OutboundEstablishState state) This handles both initial send and retransmission of SessionRequest, and, for SSU2, initial send and retransmission of Token Request.private voidEstablishmentManager.updateHolePunchState(OutboundEstablishState state, OutboundEstablishState2 state2, byte[] data, int port, long now, long token) Update the state with the validated Charlie address, and swap the RemoteHostId the state is indexed under if this was a HolePunch before the RelayResponse.private intEstablishmentManager.validateHolePunchAddress(OutboundEstablishState state, RemoteHostId id, byte[] data) Validate the IP and port Charlie claims in the signed data.private byte[]EstablishmentManager.verifyIntroducerSignature(OutboundEstablishState state, OutboundEstablishState2 state2, EstablishmentManager.HPCallback cb) Validate the introducer signature on the HolePunch, by trying each introducer in a state that may have signed it.