## Uses of Class
net.i2p.data.Destination

- Packages that use Destination
  Package | Description
  --- | ---
  net.i2p.client | Implements the base I2P SDK for developing applications that communicate through I2P.
  net.i2p.client.datagram | Provides a standard way for reading and writing messages transferred over I2P so that the recipient has an authenticated mechanism to reply to it.
  net.i2p.client.naming | Provides a standard way for querying the local naming service to resolve a name into a `Destination` (without the complexity of JNDI).
  net.i2p.client.streaming | Implements a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages.
  net.i2p.data | These classes define the common data structures used by the various I2P protocols.
  net.i2p.data.i2cp | The Invisible Internet Client Protocol (I2CP) allows applications simplified access to the I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
  net.i2p.i2ptunnel |
  net.i2p.i2ptunnel.socks |
  net.i2p.i2ptunnel.streamr |
  net.i2p.i2ptunnel.udp |
  net.i2p.i2ptunnel.udpTunnel |
  net.i2p.router | The I2P router application handles the I2P network communication.
  net.i2p.router.client |
  net.i2p.router.message |
  net.i2p.router.tunnel.pool |
  net.i2p.sam |
  org.klomp.snark |
  org.klomp.snark.dht |

- - ### Uses of Destination in net.i2p.client

    Methods in net.i2p.client that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | I2PSimpleClient.`createDestination(OutputStream destKeyStream)` Deprecated. Don't do this
    `Destination` | I2PClient.`createDestination(OutputStream destKeyStream)` Create a new destination with the default certificate creation properties and store it, along with the private encryption and signing keys at the specified location
    `Destination` | I2PClientImpl.`createDestination(OutputStream destKeyStream)` Create the destination with a null payload
    `Destination` | I2PSimpleClient.`createDestination(OutputStream destKeyStream, Certificate cert)` Deprecated. or this
    `Destination` | I2PClient.`createDestination(OutputStream destKeyStream, Certificate cert)` Create a new destination with the given certificate and store it, along with the private encryption and signing keys at the specified location
    `Destination` | I2PClientImpl.`createDestination(OutputStream destKeyStream, Certificate cert)` Create the destination with the given payload and write it out along with the PrivateKey and SigningPrivateKey to the destKeyStream
    `Destination` | I2PSessionImpl.`getMyDestination()` Retrieve the destination of the session
    `Destination` | I2PSession.`getMyDestination()` Retrieve the Destination this session serves as the endpoint for.
    `Destination` | MessageState.`getTo()`
    `Destination` | I2PSessionImpl.`lookupDest(Hash h)` Blocking.
    `Destination` | I2PSession.`lookupDest(Hash h)` Lookup a Destination by Hash.
    `Destination` | I2PSessionImpl.`lookupDest(Hash h, long maxWait)` Blocking.
    `Destination` | I2PSession.`lookupDest(Hash h, long maxWait)` Blocking.

    Methods in net.i2p.client with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | I2PSessionImpl.`destReceived(Destination d)` called by the message handler
    `protected boolean` | I2PSessionImpl2.`sendBestEffort(Destination dest, byte[] payload, long expires, int flags)` TODO - Don't need to save MessageState since actuallyWait is false...
    `protected boolean` | I2PSessionImpl2.`sendBestEffort(Destination dest, byte[] payload, SessionKey keyUsed, Set tagsSent, long expires)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload)` Send a new message to the given destination, containing the specified payload, returning true if the router feels confident that the message was delivered.
    `boolean` | I2PSessionMuxedImpl.`sendMessage(Destination dest, byte[] payload)`
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, int offset, int size)`
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, int offset, int size)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, int proto, int fromport, int toport)` See I2PSessionMuxedImpl for proto/port details.
    `boolean` | I2PSessionMuxedImpl.`sendMessage(Destination dest, byte[] payload, int proto, int fromport, int toport)`
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, int proto, int fromport, int toport)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent)` End-to-End Crypto is disabled, tags and keys are ignored.
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, int proto, int fromport, int toport)` See I2PSessionMuxedImpl for proto/port details.
    `boolean` | I2PSessionMuxedImpl.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, int proto, int fromport, int toport)`
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, int proto, int fromport, int toport)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expire)` End-to-End Crypto is disabled, tags and keys are ignored.
    `boolean` | I2PSessionMuxedImpl.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expires)`
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expires)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expire, int proto, int fromport, int toport)` See I2PSessionMuxedImpl for proto/port details.
    `boolean` | I2PSessionMuxedImpl.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expires, int proto, int fromPort, int toPort)`
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expire, int proto, int fromport, int toport)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expire, int proto, int fromport, int toport, int flags)` See I2PSessionMuxedImpl for proto/port details.
    `boolean` | I2PSessionMuxedImpl.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expires, int proto, int fromPort, int toPort, int flags)`
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set tagsSent, long expire, int proto, int fromport, int toport, int flags)`
    `boolean` | I2PSession.`sendMessage(Destination dest, byte[] payload, SessionKey keyUsed, Set tagsSent)` End-to-End Crypto is disabled, tags and keys are ignored! Like sendMessage above, except the key used and the tags sent are exposed to the application.
    `boolean` | I2PSessionImpl2.`sendMessage(Destination dest, byte[] payload, SessionKey keyUsed, Set tagsSent)`
    `void` | I2CPMessageProducer.`sendMessage(I2PSessionImpl session, Destination dest, long nonce, byte[] payload, long expires, int flags)` Package up and send the payload to the router for delivery
    `void` | I2CPMessageProducer.`sendMessage(I2PSessionImpl session, Destination dest, long nonce, byte[] payload, SessionTag tag, SessionKey key, Set tags, SessionKey newKey, long expires)` Package up and send the payload to the router for delivery
    `protected boolean` | I2PSessionImpl2.`sendNoEffort(Destination dest, byte[] payload, long expires)` Same as sendBestEffort(), except we do not expect any MessageStatusMessage responses - not for accepted, or success, or failure.
    `void` | MessageState.`setTo(Destination dest)`

  - ### Uses of Destination in net.i2p.client.datagram

    Methods in net.i2p.client.datagram that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | I2PDatagramDissector.`extractSender()` Extract the sender of an I2P repliable datagram (previously loaded with the loadI2PDatagram() method), without verifying the datagram signature.
    `Destination` | I2PDatagramDissector.`getSender()` Get the sender of an I2P repliable datagram (previously loaded with the loadI2PDatagram() method), verifying the datagram signature.

  - ### Uses of Destination in net.i2p.client.naming

    Methods in net.i2p.client.naming that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `protected static Destination` | DummyNamingService.`getCache(String s)`
    `Destination` | NamingService.`lookup(Hash hash, int timeout)` Same as lookupB32 but with the SHA256 Hash precalculated
    `Destination` | EepGetAndAddNamingService.`lookup(String hostname)` Deprecated.
    `Destination` | NamingService.`lookup(String hostname)` Look up a host name.
    `Destination` | MetaNamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)`
    `Destination` | HostsTxtNamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)`
    `Destination` | EepGetNamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)`
    `Destination` | SingleFileNamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)`
    `Destination` | BlockfileNamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)`
    `Destination` | ExecNamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)`
    `abstract Destination` | NamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)` Same as lookup(hostname) but with in and out options Note that whether this (and lookup(hostname)) resolve B32 addresses is NamingService-specific.
    `Destination` | DummyNamingService.`lookup(String hostname, Properties lookupOptions, Properties storedOptions)`
    `Destination` | NamingService.`lookupBase32(String hostname, int timeout)` Lookup a Base 32 address.
    `(package private) static Destination` | LookupDest.`lookupBase32Hash(I2PAppContext ctx, String key)`
    `protected Destination` | NamingService.`lookupBase64(String hostname)` Check if host name is valid Base64 encoded dest and return this dest in that case.
    `(package private) static Destination` | LookupDest.`lookupHash(I2PAppContext ctx, byte[] h)`

    Methods in net.i2p.client.naming that return types with arguments of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `Map<String,Destination>` | NamingService.`getEntries()`
    `Map<String,Destination>` | MetaNamingService.`getEntries(Properties options)` All services aggregated
    `Map<String,Destination>` | SingleFileNamingService.`getEntries(Properties options)`
    `Map<String,Destination>` | BlockfileNamingService.`getEntries(Properties options)`
    `Map<String,Destination>` | NamingService.`getEntries(Properties options)`

    Methods in net.i2p.client.naming with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | NamingServiceListener.`entryAdded(NamingService ns, String hostname, Destination dest, Properties options)`
    `void` | NamingServiceListener.`entryChanged(NamingService ns, String hostname, Destination dest, Properties options)`
    `boolean` | NamingService.`put(String hostname, Destination d)`
    `boolean` | MetaNamingService.`put(String hostname, Destination d, Properties options)` Stores in the last service
    `boolean` | HostsTxtNamingService.`put(String hostname, Destination d, Properties options)`
    `boolean` | SingleFileNamingService.`put(String hostname, Destination d, Properties options)`
    `boolean` | BlockfileNamingService.`put(String hostname, Destination d, Properties options)`
    `boolean` | NamingService.`put(String hostname, Destination d, Properties options)`
    `protected static void` | DummyNamingService.`putCache(String s, Destination d)` Provide basic static caching for all services
    `boolean` | NamingService.`putIfAbsent(String hostname, Destination d)` Fails if entry previously exists
    `boolean` | MetaNamingService.`putIfAbsent(String hostname, Destination d, Properties options)` Stores in the last service
    `boolean` | HostsTxtNamingService.`putIfAbsent(String hostname, Destination d, Properties options)`
    `boolean` | SingleFileNamingService.`putIfAbsent(String hostname, Destination d, Properties options)`
    `boolean` | BlockfileNamingService.`putIfAbsent(String hostname, Destination d, Properties options)`
    `boolean` | NamingService.`putIfAbsent(String hostname, Destination d, Properties options)` Fails if entry previously exists
    `String` | NamingService.`reverseLookup(Destination dest)` Reverse look up a destination
    `String` | MetaNamingService.`reverseLookup(Destination dest, Properties options)`
    `String` | SingleFileNamingService.`reverseLookup(Destination dest, Properties options)`
    `String` | NamingService.`reverseLookup(Destination d, Properties options)` Same as reverseLookup(dest) but with options
    `boolean` | NamingService.`update(String hostname, Destination d, Properties options)` Fails if entry did not previously exist

    Method parameters in net.i2p.client.naming with type arguments of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | NamingService.`putAll(Map<String,Destination> entries, Properties options)`

  - ### Uses of Destination in net.i2p.client.streaming

    Methods in net.i2p.client.streaming that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | Packet.`getOptionalFrom()` the sender of the packet (only included if the flag for it is set)
    `Destination` | I2PSocketFull.`getPeerDestination()`
    `Destination` | I2PSocketImpl.`getPeerDestination()` Deprecated. Return the destination of the peer.
    `Destination` | I2PSocket.`getPeerDestination()`
    `Destination` | Connection.`getRemotePeer()` who are we talking with
    `Destination` | I2PSocketFull.`getThisDestination()`
    `Destination` | I2PSocketImpl.`getThisDestination()` Deprecated. Return the Destination of this side of the socket.
    `Destination` | I2PSocket.`getThisDestination()`
    `Destination` | PacketLocal.`getTo()`

    Methods in net.i2p.client.streaming with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `I2PSocket` | I2PSocketManagerFull.`connect(Destination peer)` Create a new connected socket.
    `I2PSocket` | I2PSocketManagerImpl.`connect(Destination peer)` Deprecated. Create a new connected socket (block until the socket is created)
    `I2PSocket` | I2PSocketManager.`connect(Destination peer)` Create a new connected socket (block until the socket is created)
    `Connection` | ConnectionManager.`connect(Destination peer, ConnectionOptions opts)` Build a new connection to the given peer.
    `I2PSocket` | I2PSocketManagerFull.`connect(Destination peer, I2PSocketOptions options)` Create a new connected socket.
    `I2PSocket` | I2PSocketManagerImpl.`connect(Destination peer, I2PSocketOptions options)` Deprecated. Create a new connected socket (block until the socket is created)
    `I2PSocket` | I2PSocketManager.`connect(Destination peer, I2PSocketOptions options)` Create a new connected socket (block until the socket is created)
    `Socket` | I2PSocketManagerFull.`connectToSocket(Destination peer)` Like connect() but returns a real Socket, and throws only IOE, for easier porting of apps.
    `Socket` | I2PSocketManagerImpl.`connectToSocket(Destination peer)` Deprecated.
    `Socket` | I2PSocketManager.`connectToSocket(Destination peer)` Like connect() but returns a real Socket, and throws only IOE, for easier porting of apps.
    `Socket` | I2PSocketManagerFull.`connectToSocket(Destination peer, int timeout)` Like connect() but returns a real Socket, and throws only IOE, for easier porting of apps.
    `Socket` | I2PSocketManagerImpl.`connectToSocket(Destination peer, int timeout)` Deprecated.
    `Socket` | I2PSocketManager.`connectToSocket(Destination peer, int timeout)` Like connect() but returns a real Socket, and throws only IOE, for easier porting of apps.
    `boolean` | ConnectionManager.`ping(Destination peer, long timeoutMs)` blocking
    `boolean` | I2PSocketManagerFull.`ping(Destination peer, long timeoutMs)` Ping the specified peer, returning true if they replied to the ping within the timeout specified, false otherwise.
    `boolean` | I2PSocketManagerImpl.`ping(Destination peer, long timeoutMs)` Deprecated. timeout is ignored - use I2PSocketManagerFull.ping()
    `boolean` | I2PSocketManager.`ping(Destination peer, long timeoutMs)` Ping the specified peer, returning true if they replied to the ping within the timeout specified, false otherwise.
    `boolean` | ConnectionManager.`ping(Destination peer, long timeoutMs, boolean blocking)`
    `boolean` | ConnectionManager.`ping(Destination peer, long timeoutMs, boolean blocking, ConnectionManager.PingNotifier notifier)`
    `boolean` | ConnectionManager.`ping(Destination peer, long timeoutMs, boolean blocking, SessionKey keyToUse, Set tagsToSend, ConnectionManager.PingNotifier notifier)` Deprecated. I2PSession ignores tags, use non-tag variant
    `void` | Packet.`setOptionalFrom(Destination from)`
    `void` | Connection.`setRemotePeer(Destination peer)`
    `void` | PacketLocal.`setTo(Destination to)`
    `boolean` | Packet.`verifySignature(I2PAppContext ctx, Destination from, byte[] buffer)` Determine whether the signature on the data is valid.

    Constructors in net.i2p.client.streaming with parameters of type Destination
    Constructor and Description
    `I2PSocketImpl(Destination peer, I2PSocketManagerImpl mgr, boolean outgoing, String localID)` Deprecated.
    `PacketLocal(I2PAppContext ctx, Destination to)`
    `PacketLocal(I2PAppContext ctx, Destination to, Connection con)`

  - ### Uses of Destination in net.i2p.data

    Subclasses of Destination in net.i2p.data
    Modifier and Type | Class and Description
    --- | ---
    `class` | `VerifiedDestination` Extend Destination with methods to verify its Certificate.

    Methods in net.i2p.data that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | PrivateKeyFile.`createIfAbsent()` Also reads in the file to get the privKey and signingPrivKey, which aren't available from I2PClient.
    `Destination` | Address.`getDestination()`
    `Destination` | PrivateKeyFile.`getDestination()` Also sets the local privKey and signingPrivKey
    `Destination` | LeaseSet.`getDestination()`

    Methods in net.i2p.data with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | Address.`setDestination(Destination destination)`
    `void` | PrivateKeyFile.`setDestination(Destination d)`
    `void` | LeaseSet.`setDestination(Destination dest)`
    `static boolean` | PrivateKeyFile.`verifySignature(Destination d)` Sample code to verify a 3rd party signature.

    Constructors in net.i2p.data with parameters of type Destination
    Constructor and Description
    `VerifiedDestination(Destination d)` create from an existing Dest

  - ### Uses of Destination in net.i2p.data.i2cp

    Methods in net.i2p.data.i2cp that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | DestReplyMessage.`getDestination()`
    `Destination` | SendMessageMessage.`getDestination()`
    `Destination` | SessionConfig.`getDestination()` Retrieve the destination for which this session is supposed to connect

    Methods in net.i2p.data.i2cp with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | SendMessageMessage.`setDestination(Destination destination)`

    Constructors in net.i2p.data.i2cp with parameters of type Destination
    Constructor and Description
    `DestReplyMessage(Destination d)`
    `SessionConfig(Destination dest)`

  - ### Uses of Destination in net.i2p.i2ptunnel

    Fields in net.i2p.i2ptunnel declared as Destination
    Modifier and Type | Field and Description
    --- | ---
    `protected Destination` | I2PTunnelClientBase.`dest`

    Fields in net.i2p.i2ptunnel with type parameters of type Destination
    Modifier and Type | Field and Description
    --- | ---
    `protected List<Destination>` | I2PTunnelClient.`dests` list of Destination objects that we point at
    `protected List<Destination>` | I2PTunnelIRCClient.`dests` list of Destination objects that we point at

    Methods in net.i2p.i2ptunnel that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `static Destination` | I2PTunnel.`destFromName(String name)` Deprecated. Don't use i2ptunnel for lookup! Use I2PAppContext.getGlobalContext().namingService().lookup(name) from i2p.jar

    Methods in net.i2p.i2ptunnel with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `(package private) String` | I2PTunnelIRCServer.`cloakDest(Destination d)` (Optionally) append 32 bytes of crap to the destination then return the first few characters of the hash of the whole thing, + ".i2p".
    `I2PSocket` | I2PTunnelClientBase.`createI2PSocket(Destination dest)` Create a new I2PSocket towards to the specified destination, adding it to the list of connections actually managed by this tunnel.
    `I2PSocket` | I2PTunnelClientBase.`createI2PSocket(Destination dest, I2PSocketOptions opt)` Create a new I2PSocket towards to the specified destination, adding it to the list of connections actually managed by this tunnel.
    `boolean` | I2Ping.`ping(Destination dest)`

  - ### Uses of Destination in net.i2p.i2ptunnel.socks

    Fields in net.i2p.i2ptunnel.socks declared as Destination
    Modifier and Type | Field and Description
    --- | ---
    `protected Destination` | I2PSOCKSTunnel.`outProxyDest`

    Methods in net.i2p.i2ptunnel.socks that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | SOCKSHeader.`getDestination()`

    Methods in net.i2p.i2ptunnel.socks with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | SOCKSUDPUnwrapper.`send(Destination ignored_from, byte[] data)`
    `void` | SOCKSUDPPort.`send(Destination from, byte[] data)`
    `void` | MultiSink.`send(Destination from, byte[] data)`
    `void` | SOCKSUDPWrapper.`send(Destination from, byte[] data)` Use the cached header, which should have the host string and port
    `void` | ReplyTracker.`send(Destination to, byte[] data)`

    Constructors in net.i2p.i2ptunnel.socks with parameters of type Destination
    Constructor and Description
    `SOCKSHeader(Destination dest)` Make a dummy header from a dest, for those cases where we want to receive unsolicited datagrams.

    Constructor parameters in net.i2p.i2ptunnel.socks with type arguments of type Destination
    Constructor and Description
    `SOCKSUDPUnwrapper(Map<Destination,SOCKSHeader> cache)`
    `SOCKSUDPWrapper(Map<Destination,SOCKSHeader> cache)`

  - ### Uses of Destination in net.i2p.i2ptunnel.streamr

    Methods in net.i2p.i2ptunnel.streamr with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | MultiSource.`add(Destination sink)`
    `void` | MultiSource.`remove(Destination sink)`
    `void` | MultiSource.`send(Destination ignored_from, byte[] data)`
    `void` | Subscriber.`send(Destination dest, byte[] data)`

  - ### Uses of Destination in net.i2p.i2ptunnel.udp

    Fields in net.i2p.i2ptunnel.udp declared as Destination
    Modifier and Type | Field and Description
    --- | ---
    `protected Destination` | I2PSink.`dest`
    `protected Destination` | I2PSinkAnywhere.`dest`

    Methods in net.i2p.i2ptunnel.udp with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | I2PSink.`send(Destination src, byte[] data)`
    `void` | UDPSink.`send(Destination src, byte[] data)`
    `void` | Sink.`send(Destination src, byte[] data)`
    `void` | I2PSinkAnywhere.`send(Destination to, byte[] data)`

    Constructors in net.i2p.i2ptunnel.udp with parameters of type Destination
    Constructor and Description
    `I2PSink(I2PSession sess, Destination dest)`
    `I2PSink(I2PSession sess, Destination dest, boolean raw)`

  - ### Uses of Destination in net.i2p.i2ptunnel.udpTunnel

    Fields in net.i2p.i2ptunnel.udpTunnel declared as Destination
    Modifier and Type | Field and Description
    --- | ---
    `protected Destination` | I2PTunnelUDPClientBase.`dest`

    Methods in net.i2p.i2ptunnel.udpTunnel with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | I2PTunnelUDPServerBase.`send(Destination to, byte[] data)` Sink Methods
    `void` | I2PTunnelUDPClientBase.`send(Destination to, byte[] data)` Sink Methods

  - ### Uses of Destination in net.i2p.router

    Methods in net.i2p.router that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | LeaseSetKeys.`getDestination()` Destination in question
    `Destination` | ClientMessage.`getDestination()` Retrieve the destination to which this message is directed.
    `Destination` | ClientMessage.`getFromDestination()`

    Methods in net.i2p.router that return types with arguments of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `Set<Destination>` | ClientManagerFacade.`listClients()` Return the list of locally connected clients

    Methods in net.i2p.router with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | TunnelManagerFacade.`buildTunnels(Destination client, ClientTunnelSettings settings)` the client connected (or updated their settings), so make sure we have the tunnels for them, and whenever necessary, ask them to authorize leases.
    `void` | DummyTunnelManagerFacade.`buildTunnels(Destination client, ClientTunnelSettings settings)`
    `abstract SessionConfig` | ClientManagerFacade.`getClientSessionConfig(Destination dest)` Return the client's current config, or null if not connected
    `SessionConfig` | DummyClientManagerFacade.`getClientSessionConfig(Destination _dest)`
    `LeaseSetKeys` | KeyManager.`getKeys(Destination dest)`
    `abstract boolean` | ClientManagerFacade.`isLocal(Destination dest)` Determine if the destination specified is managed locally.
    `boolean` | DummyClientManagerFacade.`isLocal(Destination dest)`
    `abstract void` | ClientManagerFacade.`messageDeliveryStatusUpdate(Destination fromDest, MessageId id, boolean delivered)`
    `void` | DummyClientManagerFacade.`messageDeliveryStatusUpdate(Destination fromDest, MessageId id, boolean delivered)`
    `void` | KeyManager.`registerKeys(Destination dest, SigningPrivateKey leaseRevocationPrivateKey, PrivateKey endpointDecryptionKey)`
    `abstract void` | ClientManagerFacade.`reportAbuse(Destination dest, String reason, int severity)` Instruct the client (or all clients) that they are under attack.
    `void` | DummyClientManagerFacade.`reportAbuse(Destination dest, String reason, int severity)`
    `abstract void` | ClientManagerFacade.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.
    `void` | DummyClientManagerFacade.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)`
    `void` | ClientMessage.`setDestination(Destination dest)`
    `void` | ClientMessage.`setFromDestination(Destination dest)`
    `LeaseSetKeys` | KeyManager.`unregisterKeys(Destination dest)`

    Constructors in net.i2p.router with parameters of type Destination
    Constructor and Description
    `LeaseSetKeys(Destination dest, SigningPrivateKey revocationKey, PrivateKey decryptionKey)`

  - ### Uses of Destination in net.i2p.router.client

    Methods in net.i2p.router.client that return types with arguments of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `(package private) Set<Destination>` | ClientManager.`getRunnerDestinations()`
    `Set<Destination>` | ClientManagerFacadeImpl.`listClients()` Return the list of locally connected clients
    `Set<Destination>` | ClientManager.`listClients()`

    Methods in net.i2p.router.client with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | ClientManager.`distributeMessage(Destination fromDest, Destination toDest, Payload payload, MessageId msgId, long expiration, int flags)` Distribute message to a local or remote destination.
    `SessionConfig` | ClientManagerFacadeImpl.`getClientSessionConfig(Destination dest)` Return the client's current config, or null if not connected
    `SessionConfig` | ClientManager.`getClientSessionConfig(Destination dest)` Return the client's current config, or null if not connected
    `(package private) ClientConnectionRunner` | ClientManager.`getRunner(Destination dest)`
    `boolean` | ClientManagerFacadeImpl.`isLocal(Destination dest)` Determine if the destination specified is managed locally.
    `boolean` | ClientManager.`isLocal(Destination dest)`
    `void` | ClientManagerFacadeImpl.`messageDeliveryStatusUpdate(Destination fromDest, MessageId id, boolean delivered)`
    `void` | ClientManager.`messageDeliveryStatusUpdate(Destination fromDest, MessageId id, boolean delivered)`
    `(package private) void` | ClientConnectionRunner.`receiveMessage(Destination toDest, Destination fromDest, Payload payload)` Asynchronously deliver the message to the current runner
    `void` | ClientManagerFacadeImpl.`reportAbuse(Destination dest, String reason, int severity)` Instruct the client (or all clients) that they are under attack.
    `void` | ClientManager.`reportAbuse(Destination dest, String reason, int severity)`
    `void` | ClientManagerFacadeImpl.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.
    `void` | ClientManager.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.

    Constructors in net.i2p.router.client with parameters of type Destination
    Constructor and Description
    `MessageReceivedJob(RouterContext ctx, ClientConnectionRunner runner, Destination toDest, Destination fromDest, Payload payload)`

  - ### Uses of Destination in net.i2p.router.message

    Methods in net.i2p.router.message with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `(package private) static PayloadGarlicConfig` | OutboundClientMessageJobHelper.`buildDataClove(RouterContext ctx, Payload data, Destination dest, long expiration)` Build a clove that sends the payload to the destination
    `(package private) static GarlicMessage` | OutboundClientMessageJobHelper.`createGarlicMessage(RouterContext ctx, long replyToken, long expiration, PublicKey recipientPK, PayloadGarlicConfig dataClove, Hash from, Destination dest, TunnelInfo replyTunnel, SessionKey wrappedKey, Set<SessionTag> wrappedTags, boolean requireAck, LeaseSet bundledReplyLeaseSet)` Allow the app to specify the data clove directly, which enables OutboundClientMessage to resend the same payload (including expiration and unique id) in different garlics (down different tunnels) This is called from OCMOSJ
    `(package private) static GarlicMessage` | OutboundClientMessageJobHelper.`createGarlicMessage(RouterContext ctx, long replyToken, long expiration, PublicKey recipientPK, Payload data, Hash from, Destination dest, TunnelInfo replyTunnel, SessionKey wrappedKey, Set<SessionTag> wrappedTags, boolean requireAck, LeaseSet bundledReplyLeaseSet)` Build a garlic message that will be delivered to the router on which the target is located.

  - ### Uses of Destination in net.i2p.router.tunnel.pool

    Methods in net.i2p.router.tunnel.pool with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | TunnelPoolManager.`buildTunnels(Destination client, ClientTunnelSettings settings)` Used only at session startup.

  - ### Uses of Destination in net.i2p.sam

    Methods in net.i2p.sam that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `static Destination` | SAMUtils.`getDest(String s)` Resolve the destination from a key or a hostname
    `Destination` | SAMMessageSession.`getDestination()` Get the SAM message-based session Destination.
    `Destination` | SAMStreamSession.`getDestination()` Get the SAM STREAM session Destination.
    `Destination` | SAMBridge.`getDestination(String name)` Retrieve the destination associated with the given name
    `static Destination` | SAMUtils.`lookupHost(String name, OutputStream pubKey)` Resolved the specified hostname.

    Methods in net.i2p.sam with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | SAMv3Handler.`notifyStreamIncomingConnection(Destination d)`
    `void` | SAMStreamReceiver.`notifyStreamIncomingConnection(int id, Destination dest)` Notify about a new incoming connection
    `void` | SAMv1Handler.`notifyStreamIncomingConnection(int id, Destination d)`
    `static void` | SAMv3Handler.`notifyStreamIncomingConnection(SocketChannel client, Destination d)`
    `void` | SAMv3DatagramSession.`receiveDatagramBytes(Destination sender, byte[] data)`
    `void` | SAMDatagramReceiver.`receiveDatagramBytes(Destination sender, byte[] data)` Send a byte array to a SAM client.
    `void` | SAMv1Handler.`receiveDatagramBytes(Destination sender, byte[] data)`

    Constructors in net.i2p.sam with parameters of type Destination
    Constructor and Description
    `SAMv2StreamSession.StreamConnector(int id, Destination dest, I2PSocketOptions opts)` Create a new SAM STREAM session socket reader

  - ### Uses of Destination in org.klomp.snark

    Methods in org.klomp.snark that return Destination
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | PeerID.`getAddress()` Get the destination.
    `Destination` | Peer.`getDestination()`
    `(package private) Destination` | I2PSnarkUtil.`getDestination(String ip)` Base64 Hash or Hash.i2p or name.i2p using naming service
    `(package private) static Destination` | I2PSnarkUtil.`getDestinationFromBase64(String ip)` Base64 only - static (no naming service)
    `(package private) Destination` | I2PSnarkUtil.`getMyDestination()`

    Constructors in org.klomp.snark with parameters of type Destination
    Constructor and Description
    `PeerID(byte[] id, Destination address)`

  - ### Uses of Destination in org.klomp.snark.dht

    Methods in org.klomp.snark.dht with parameters of type Destination
    Modifier and Type | Method and Description
    --- | ---
    `void` | DHT.`ping(Destination dest, int port)` Ping.