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

- Packages that use UDPPacketReader
  Package | Description
  --- | ---
  net.i2p.router.transport.udp | The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP.

- - ### Uses of UDPPacketReader in net.i2p.router.transport.udp

    Methods in net.i2p.router.transport.udp with parameters of type UDPPacketReader
    Modifier and Type | Method and Description
    --- | ---
    `UDPPacket` | PacketBuilder.`buildHolePunch(UDPPacketReader reader)` Sends an empty unauthenticated packet for hole punching
    `(package private) void` | IntroductionManager.`receiveRelayIntro(RemoteHostId bob, UDPPacketReader reader)`
    `(package private) void` | IntroductionManager.`receiveRelayRequest(RemoteHostId alice, UDPPacketReader reader)`
    `(package private) void` | EstablishmentManager.`receiveRelayResponse(RemoteHostId bob, UDPPacketReader reader)`
    `(package private) void` | EstablishmentManager.`receiveSessionConfirmed(RemoteHostId from, UDPPacketReader reader)` got a SessionConfirmed (should only happen as part of an inbound establishment)
    `(package private) void` | EstablishmentManager.`receiveSessionCreated(RemoteHostId from, UDPPacketReader reader)` Got a SessionCreated (in response to our outbound SessionRequest)
    `(package private) void` | EstablishmentManager.`receiveSessionRequest(RemoteHostId from, UDPPacketReader reader)` Got a SessionRequest (initiates an inbound establishment)
    `void` | PeerTestManager.`receiveTest(RemoteHostId from, UDPPacketReader reader)` Receive a test message of some sort from the given peer, queueing up any packet that should be sent in response, or if its a reply to our own current testing, adjusting our test state.