## Uses of Class
net.i2p.router.transport.udp.PeerState

Packages that use PeerState
net.i2p.router.transport.udp: The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP.

Uses of PeerState in net.i2p.router.transport.udp

Methods in net.i2p.router.transport.udp that return PeerState
`PeerState` `IntroductionManager.get(long id)`
`PeerState` `OutboundMessageState.getPeer()`
`PeerState` `UDPTransport.getPeerState(Hash remotePeer)` get the state for the peer with the given ident, or null if no state exists
`PeerState` `UDPTransport.getPeerState(long relayTag)` get the state for the peer being introduced, or null if we aren't offering to introduce anyone with that tag.
`(package private) PeerState` `UDPTransport.getPeerState(RemoteHostId hostInfo)` get the state for the peer at the given remote host/port, or null if no state exists
`(package private) PeerState` `UDPTransport.pickTestPeer(RemoteHostId dontInclude)`
`(package private) PeerState` `EstablishmentManager.receiveData(OutboundEstablishState state)` A data packet arrived on an outbound connection being established, which means its complete (yay!).

Methods in net.i2p.router.transport.udp with parameters of type PeerState
`void` `ACKSender.ackPeer(PeerState peer)` Add to the queue.
`void` `IntroductionManager.add(PeerState peer)`
`void` `UDPFlooder.addPeer(PeerState peer)`
`(package private) boolean` `UDPTransport.addRemotePeerState(PeerState peer)` add the peer info, returning true if it went in properly, false if it was rejected (causes include peer ident already connected, or no remote host info known
`UDPPacket` `PacketBuilder.buildACK(PeerState peer, List<ACKBitfield> ackBitfields)` Build the ack packet.
`UDPPacket` `PacketBuilder.buildPacket(OutboundMessageState state, int fragment, PeerState peer, List<Long> ackIdsRemaining, List<ACKBitfield> partialACKsRemaining)` This builds a data packet (PAYLOAD_TYPE_DATA).
`UDPPacket` `PacketBuilder.buildPing(PeerState peer)` We use this for keepalive purposes.
`(package private) UDPPacket` `PacketBuilder.buildRelayIntro(RemoteHostId alice, PeerState charlie, UDPPacketReader.RelayRequestReader request)`
`(package private) UDPPacket` `PacketBuilder.buildRelayResponse(RemoteHostId alice, PeerState charlie, long nonce, SessionKey aliceIntroKey)`
`UDPPacket` `PacketBuilder.buildSessionDestroyPacket(PeerState peer)` Build a destroy packet, which contains a header but no body.
`(package private) void` `OutboundMessageFragments.dropPeer(PeerState peer)`
`(package private) void` `UDPTransport.dropPeer(PeerState peer, boolean shouldShitlist, String why)`
`boolean` `OutboundMessageState.initialize(I2NPMessage msg, PeerState peer)`
`void` `PeerState.loadFrom(PeerState oldPeer)` Transfer the basic activity/state from the old peer to the current peer
`void` `InboundMessageFragments.receiveData(PeerState from, UDPPacketReader.DataReader data)` Pull the fragments and ACKs out of the authenticated data packet
`(package private) void` `EstablishmentManager.receiveSessionDestroy(RemoteHostId from, PeerState state)` Got a SessionDestroy on an established conn
`void` `IntroductionManager.remove(PeerState peer)`
`void` `UDPFlooder.removePeer(PeerState peer)`
`(package private) void` `UDPTransport.send(I2NPMessage msg, PeerState peer)`
`void` `OutboundMessageState.setPeer(PeerState peer)`