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

- Packages that use DataFormatException
  Package | Description
  --- | ---
  net.i2p.client.datagram | Provides a standard way for reading and writing messages transferred over I2P so that recipient has an authenticated mechanism to reply to it.
  net.i2p.crypto | Core cryptographic primitives and algorithms used throughout I2P.
  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 I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
  net.i2p.data.i2np | This package defines the low-level messages sent between routers, called Invisible Internet Network Protocol (I2NP).
  net.i2p.data.router | Router-specific data structures and identity management classes for I2P.
  net.i2p.i2ptunnel | Implementation of preconfigured tunnels for both clients and servers, with a comprehensive UI for tunnel management and configuration.
  net.i2p.router.crypto | Router-specific cryptographic operations and implementations for I2P security.
  net.i2p.router.crypto.ratchet | Implementation of ECIES-X25519-AEAD-Ratchet cryptographic protocol (I2P proposal 144), providing forward secrecy and enhanced security for I2P transport communications.
  net.i2p.router.message | Garlic message creation, parsing, and source routing for I2P communications.
  net.i2p.router.naming | The default naming service implementation for the I2P router, using the BlockfileNamingService based on the Metanotion BlockFile Database.
  net.i2p.router.startup | The I2P startup package loads configuration when I2P is started.
  net.i2p.router.transport.ntcp | The NTCP (New TCP) transport for I2P, allowing I2P messages to be passed over TCP connections.
  net.i2p.router.transport.udp | The UDP transport (also known as 'SSU' or Secure Semi-reliable UDP transport) for I2P, allowing I2P messages to be passed over UDP connections.
  net.i2p.sam | The SAM (Simple Anonymous Messaging) client API.
  org.klomp.snark.dht | Distributed Hash Table (DHT) implementation for BitTorrent.

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

    Methods in net.i2p.client.datagram that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `static Datagram2` | Datagram2.`load(I2PAppContext ctx, I2PSession session, byte[] dgram)` Load an I2P repliable datagram and verify the signature.
    `static Datagram3` | Datagram3.`load(I2PAppContext ctx, I2PSession session, byte[] dgram)` Load an I2P repliable datagram3.
    `void` | I2PDatagramDissector.`loadI2PDatagram(byte[] dgram)` Load an I2P repliable datagram into the dissector.
    `static byte[]` | Datagram3.`make(I2PAppContext ctx, I2PSession session, byte[] payload)` Make a repliable I2P datagram3 containing the specified payload.
    `static byte[]` | Datagram2.`make(I2PAppContext ctx, I2PSession session, byte[] payload, Hash tohash)` Make a repliable I2P datagram2 containing the specified payload.
    `static byte[]` | Datagram2.`make(I2PAppContext ctx, I2PSession session, byte[] payload, Hash tohash, Properties options)` Make a repliable I2P datagram2 containing the specified payload.
    `static byte[]` | Datagram3.`make(I2PAppContext ctx, I2PSession session, byte[] payload, Properties options)` Make a repliable I2P datagram3 containing the specified payload.

  - ### Uses of DataFormatException in net.i2p.crypto

    Methods in net.i2p.crypto that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `void` | SHA1Hash.`readBytes(InputStream in)`

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

    Methods in net.i2p.data that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `static Certificate` | Certificate.`create(byte[] data, int off)` If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new
    `static Certificate` | Certificate.`create(InputStream in)` If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new
    `static Destination` | Destination.`create(InputStream in)` Pull from cache or return new
    `Destination` | PrivateKeyFile.`createIfAbsent()` Create with the default signature type if nonexistent.
    `Destination` | PrivateKeyFile.`createIfAbsent(SigType type)` Create with the specified signature type if nonexistent.
    `void` | DataStructureImpl.`fromBase64(String data)`
    `void` | SimpleDataStructure.`fromBase64(String data)` Sets the data.
    `void` | DataStructure.`fromBase64(String data)` Load the structure from the provided base64 string.
    `void` | DateAndFlags.`fromByteArray(byte[] data)` Overridden for efficiency.
    `void` | DataStructureImpl.`fromByteArray(byte[] data)`
    `void` | SimpleDataStructure.`fromByteArray(byte[] data)` Does the same thing as setData() but null not allowed.
    `void` | DataStructure.`fromByteArray(byte[] data)` Load's structure from the data provided Warning - many classes will throw IllegalStateException if data is already set.
    `static Date` | DataHelper.`fromDate(byte[] src, int offset)`
    `static int` | DataHelper.`fromProperties(byte[] source, int offset, Properties target)` Reads the props from the byte array and puts them in the Properties target See readProperties() for the format.
    `protected abstract byte[]` | DatabaseEntry.`getBytes()` Returns the raw payload data, excluding the signature, to be signed by sign().
    `Destination` | PrivateKeyFile.`getDestination()` If the destination is not set, read it in from the file.
    `int` | Certificate.`readBytes(byte[] source, int offset)` Reads the certificate from the source array.
    `int` | Destination.`readBytes(byte[] source, int offset)` Deprecated. This method does not support alternate key types.
    `void` | DateAndFlags.`readBytes(InputStream in)`
    `void` | Lease2.`readBytes(InputStream in)`
    `void` | TunnelId.`readBytes(InputStream in)`
    `void` | LeaseSet.`readBytes(InputStream in)` This does NOT validate the signature
    `void` | Certificate.`readBytes(InputStream in)`
    `void` | Payload.`readBytes(InputStream in)`
    `void` | Lease.`readBytes(InputStream in)`
    `void` | MetaLease.`readBytes(InputStream in)`
    `void` | EncryptedLeaseSet.`readBytes(InputStream in)` This does NOT validate the signature
    `void` | SimpleDataStructure.`readBytes(InputStream in)` Sets the data.
    `void` | MetaLeaseSet.`readBytes(InputStream in)` This does NOT validate the signature
    `void` | DataStructure.`readBytes(InputStream in)` Load up the current object with data from the given stream.
    `void` | Hash.`readBytes(InputStream in)`
    `void` | KeysAndCert.`readBytes(InputStream in)`
    `void` | LeaseSet2.`readBytes(InputStream in)` This does NOT validate the signature
    `static Date` | DataHelper.`readDate(InputStream in)` Read in a date from the stream as specified by the I2P data structure spec.
    `protected void` | EncryptedLeaseSet.`readHeader(InputStream in)` Overridden because we have a blinded key, not a dest
    `protected void` | LeaseSet2.`readHeader(InputStream in)`
    `static long` | DataHelper.`readLong(InputStream rawStream, int numBytes)` Read the stream for an integer as defined by the I2P data structure specification.
    `protected void` | EncryptedLeaseSet.`readOfflineBytes(InputStream in)` Overridden because we have a blinded key, not a dest
    `protected void` | LeaseSet2.`readOfflineBytes(InputStream in)`
    `static Properties` | DataHelper.`readProperties(InputStream rawStream)` Read a mapping from the stream, as defined by the I2P data structure spec, and store it into a Properties object.
    `static Properties` | DataHelper.`readProperties(InputStream rawStream, Properties props)` Ditto, load into an existing properties As of 0.9.18, throws DataFormatException on duplicate key Does NOT enforce key ordering.
    `static Properties` | DataHelper.`readProperties(InputStream rawStream, Properties props, boolean enforceOrder)` Ditto, load into an existing properties As of 0.9.18, throws DataFormatException on duplicate key
    `static String` | DataHelper.`readString(InputStream in)` Read in a string from the stream as specified by the I2P data structure spec.
    `void` | DatabaseEntry.`sign(SigningPrivateKey key)` Sign the structure using the supplied signing key
    `void` | EncryptedLeaseSet.`sign(SigningPrivateKey key)` Sign the structure using the supplied signing key.
    `void` | LeaseSet2.`sign(SigningPrivateKey key)` Sign the structure using the supplied signing key.
    `void` | EncryptedLeaseSet.`sign(SigningPrivateKey key, int authType, List<? extends SimpleDataStructure> clientKeys)` Sign the structure using the supplied signing key.
    `KeyCertificate` | Certificate.`toKeyCertificate()` Up-convert this to a KeyCertificate
    `static int` | DataHelper.`toProperties(byte[] target, int offset, Properties props)`
    `static byte[]` | DataHelper.`toProperties(Properties opts)` Writes the props to returned byte array, not sorted (unless the opts param is an OrderedProperties) Strings will be UTF-8 encoded in the byte array.
    `void` | PrivateKeyFile.`write()` Copied from I2PClientImpl.createDestination()
    `protected void` | LeaseSet2.`writeBody(OutputStream out)` Without sig.
    `void` | DateAndFlags.`writeBytes(OutputStream out)`
    `void` | Lease2.`writeBytes(OutputStream out)`
    `void` | TunnelId.`writeBytes(OutputStream out)`
    `void` | LeaseSet.`writeBytes(OutputStream out)` This does NOT validate the signature
    `void` | Certificate.`writeBytes(OutputStream out)`
    `void` | Payload.`writeBytes(OutputStream out)`
    `void` | Lease.`writeBytes(OutputStream out)`
    `void` | MetaLease.`writeBytes(OutputStream out)`
    `void` | SimpleDataStructure.`writeBytes(OutputStream out)`
    `void` | DataStructure.`writeBytes(OutputStream out)` Write out the data structure to the stream, using the format defined in the I2P data structure specification.
    `void` | KeysAndCert.`writeBytes(OutputStream out)`
    `void` | LeaseSet2.`writeBytes(OutputStream out)` Including sig.
    `protected void` | EncryptedLeaseSet.`writeBytesWithoutSig(OutputStream out)` Before encrypt() is called, the inner leaseset.
    `protected void` | MetaLeaseSet.`writeBytesWithoutSig(OutputStream out)` Without sig.
    `protected void` | LeaseSet2.`writeBytesWithoutSig(OutputStream out)` Without sig.
    `static void` | DataHelper.`writeDate(OutputStream out, Date date)` Write out a date to the stream as specified by the I2P data structure spec.
    `protected void` | EncryptedLeaseSet.`writeHeader(OutputStream out)` Overridden because we have a blinded key, not a dest
    `protected void` | LeaseSet2.`writeHeader(OutputStream out)`
    `static void` | DataHelper.`writeLong(OutputStream rawStream, int numBytes, long value)` Write an integer as defined by the I2P data structure specification to the stream.
    `protected void` | EncryptedLeaseSet.`writeOfflineBytes(OutputStream out)` Overridden because we have a blinded key, not a dest
    `protected void` | LeaseSet2.`writeOfflineBytes(OutputStream out)`
    `static void` | DataHelper.`writeProperties(OutputStream rawStream, Properties props)` Write a mapping to the stream, as defined by the I2P data structure spec, and store it into a Properties object.
    `static void` | DataHelper.`writeProperties(OutputStream rawStream, Properties props, boolean utf8)` Writes the props to the stream, sorted by property name.
    `static void` | DataHelper.`writeProperties(OutputStream rawStream, Properties props, boolean utf8, boolean sort)` Writes the props to the stream, sorted by property name if sort == true or if props is an OrderedProperties.
    `static void` | DataHelper.`writeString(OutputStream out, String string)` Write out a string to the stream as specified by the I2P data structure spec.
    `static void` | DataHelper.`writeStringUTF8(OutputStream out, String string)` Write out a string to the stream as specified by the I2P data structure spec.
    `(package private) void` | SigningPublicKey.`writeTruncatedBytes(OutputStream out)` Write the data up to a max of 128 bytes.

    Constructors in net.i2p.data that throw DataFormatException
    Constructor and Description
    `Destination(String s)` alternative constructor which takes a base64 string representation
    `KeyCertificate(byte[] payload)`
    `KeyCertificate(Certificate cert)` Up-convert a cert to this class
    `PrivateKey(String base64Data)` constructs from base64
    `PublicKey(String base64Data)` Constructs from base64.
    `SigningPrivateKey(String base64Data)` constructs from base64
    `SigningPublicKey(String base64Data)` constructs from base64
    `VerifiedDestination(Destination d)` create from an existing Dest
    `VerifiedDestination(String s)` alternative constructor which takes a base64 string representation

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

    Methods in net.i2p.data.i2cp that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `void` | SessionId.`readBytes(InputStream in)` Read the session ID from a stream.
    `void` | I2CPMessageImpl.`readBytes(InputStream in)`
    `void` | SessionConfig.`readBytes(InputStream rawConfig)`
    `void` | AbuseSeverity.`readBytes(InputStream in)`
    `void` | AbuseReason.`readBytes(InputStream in)`
    `void` | MessageId.`readBytes(InputStream in)`
    `void` | SessionConfig.`signSessionConfig(SigningPrivateKey signingKey)` Sign the structure using the supplied private key
    `void` | SessionId.`writeBytes(OutputStream out)`
    `void` | I2CPMessageImpl.`writeBytes(OutputStream out)`
    `void` | SessionConfig.`writeBytes(OutputStream out)`
    `void` | AbuseSeverity.`writeBytes(OutputStream out)`
    `void` | AbuseReason.`writeBytes(OutputStream out)`
    `void` | MessageId.`writeBytes(OutputStream out)`

  - ### Uses of DataFormatException in net.i2p.data.i2np

    Methods in net.i2p.data.i2np that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `static DeliveryInstructions` | DeliveryInstructions.`create(byte[] data, int offset)` Returns immutable local instructions, or new
    `int` | GarlicClove.`readBytes(byte[] source, int offset)`
    `int` | DeliveryInstructions.`readBytes(byte[] data, int offset)`
    `void` | GarlicClove.`readBytesRatchet(byte[] source, int offset, int len)` Short format for ECIES-Ratchet, saves 22 bytes.

    Constructors in net.i2p.data.i2np that throw DataFormatException
    Constructor and Description
    `BuildRequestRecord(RouterContext ctx, PrivateKey ourKey, EncryptedBuildRecord encryptedRecord)` Decrypts an encrypted build request record.

  - ### Uses of DataFormatException in net.i2p.data.router

    Methods in net.i2p.data.router that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `protected byte[]` | RouterInfo.`getBytes()` Write out the raw payload of the routerInfo, excluding the signature.
    `RouterIdentity` | RouterPrivateKeyFile.`getRouterIdentity()` Read it in from the file.
    `void` | RouterAddress.`readBytes(InputStream in)` As of 0.9.3, expiration MUST be all zeros as it is ignored on readin and the signature will fail.
    `void` | RouterInfo.`readBytes(InputStream in)` This does NOT validate the signature
    `void` | RouterInfo.`readBytes(InputStream in, boolean verifySig)` If verifySig is true, this validates the signature while reading in, and throws a DataFormatException if the sig is invalid.
    `void` | RouterAddress.`writeBytes(OutputStream out)` As of 0.9.3, expiration MUST be all zeros as it is ignored on readin and the signature will fail.
    `void` | RouterInfo.`writeBytes(OutputStream out)` This does NOT validate the signature

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

    Methods in net.i2p.i2ptunnel that throw DataFormatException
    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

  - ### Uses of DataFormatException in net.i2p.router.crypto

    Methods in net.i2p.router.crypto that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | ElGamalAESEngine.`decrypt(byte[] data, PrivateKey targetPrivateKey)` Deprecated. specify the key manager!
    `byte[]` | ElGamalAESEngine.`decrypt(byte[] data, PrivateKey targetPrivateKey, SessionKeyManager keyManager)` Decrypt the message using the given private key and using tags from the specified key manager.
    `(package private) byte[]` | ElGamalAESEngine.`decryptAESBlock(byte[] encrypted, int offset, int encryptedLen, SessionKey key, byte[] iv, byte[] sentTag, Set<SessionTag> foundTags, SessionKey foundKey)` private byte[] decryptAESBlock(byte encrypted[], SessionKey key, byte iv[], byte sentTag[], Set foundTags, SessionKey foundKey) throws DataFormatException { return decryptAESBlock(encrypted, 0, encrypted.length, key, iv, sentTag, foundTags, foundKey); }
    `byte[]` | ElGamalAESEngine.`decryptFast(byte[] data, PrivateKey targetPrivateKey, SessionKeyManager keyManager)` Tags only.
    `byte[]` | ElGamalAESEngine.`decryptSlow(byte[] data, PrivateKey targetPrivateKey, SessionKeyManager keyManager)` Full ElG only.

  - ### Uses of DataFormatException in net.i2p.router.crypto.ratchet

    Methods in net.i2p.router.crypto.ratchet that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `CloveSet` | ECIESAEADEngine.`decrypt(byte[] data, PrivateKey ecKey, PrivateKey pqKey, MuxedPQSKM keyManager)` Try to decrypt the message with one or both of the given private keys
    `CloveSet` | MuxedPQEngine.`decrypt(byte[] data, PrivateKey ecKey, PrivateKey pqKey, MuxedPQSKM keyManager)` Decrypt the message with the given private keys
    `CloveSet` | MuxedEngine.`decrypt(byte[] data, PrivateKey elgKey, PrivateKey ecKey, MuxedSKM keyManager)` Decrypt the message with the given private keys
    `CloveSet` | ECIESAEADEngine.`decrypt(byte[] data, PrivateKey elgKey, PrivateKey ecKey, MuxedSKM keyManager)` Try to decrypt the message with one or both of the given private keys
    `CloveSet` | ECIESAEADEngine.`decrypt(byte[] data, PrivateKey targetPrivateKey, RatchetSKM keyManager)` Decrypt the message using the given private key and using tags from the specified key manager.
    `(package private) CloveSet` | ECIESAEADEngine.`decryptFast(byte[] data, PrivateKey targetPrivateKey, RatchetSKM keyManager)` NSR/ES only.
    `(package private) CloveSet` | ECIESAEADEngine.`decryptSlow(byte[] data, PrivateKey targetPrivateKey, RatchetSKM keyManager)` NS only.
    `void` | RatchetPayload.PayloadCallback.`gotDateTime(long time)`
    `void` | RatchetPayload.PayloadCallback.`gotOptions(byte[] options, boolean isHandshake)`
    `static int` | RatchetPayload.`processPayload(I2PAppContext ctx, RatchetPayload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake)` Ratchet payload generation and parsing utilities supporting datetime, options, garlic, next key, acknowledgment, and padding blocks for ECIES+AEAD messages

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

    Methods in net.i2p.router.message that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `CloveSet` | GarlicMessageParser.`readCloveSet(byte[] data, int offset)` ElGamal only

  - ### Uses of DataFormatException in net.i2p.router.naming

    Methods in net.i2p.router.naming that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `static Properties` | BlockfileNamingService.`readProperties(ByteArrayInputStream in)` Same as DataHelper.readProperties, UTF-8, unsorted, except that values may up to 4K bytes.

  - ### Uses of DataFormatException in net.i2p.router.startup

    Methods in net.i2p.router.startup that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `static LoadRouterInfoJob.KeyData` | LoadRouterInfoJob.`readKeyData(File rkf1, File rkf2)`

  - ### Uses of DataFormatException in net.i2p.router.transport.ntcp

    Methods in net.i2p.router.transport.ntcp that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `void` | NTCP2Payload.PayloadCallback.`gotDateTime(long time)`
    `void` | NTCP2Payload.PayloadCallback.`gotOptions(byte[] options, boolean isHandshake)`
    `void` | InboundEstablishState.`gotRI(RouterInfo ri, boolean isHandshake, boolean flood)` Validates Alice's RouterInfo and extracts the static key for comparison.
    `void` | NTCP2Payload.PayloadCallback.`gotRI(RouterInfo ri, boolean isHandshake, boolean flood)`
    `static int` | NTCP2Payload.`processPayload(I2PAppContext ctx, NTCP2Payload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake)` Incoming payload.

    Constructors in net.i2p.router.transport.ntcp that throw DataFormatException
    Constructor and Description
    `NTCPConnection(RouterContext ctx, NTCPTransport transport, RouterIdentity remotePeer, RouterAddress remAddr, int version)` Create an outbound unconnected NTCP connection.

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

    Methods in net.i2p.router.transport.udp that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `void` | SSU2Payload.PayloadCallback.`gotDateTime(long time)`
    `void` | SSU2Payload.PayloadCallback.`gotFragment(byte[] data, int off, int len, long messageID, int frag, boolean isLast)` Data must be copied out in this method.
    `void` | OutboundEstablishState2.`gotFragment(byte[] data, int off, int len, long messageId, int frag, boolean isLast)`
    `void` | InboundEstablishState2.`gotFragment(byte[] data, int off, int len, long messageID, int frag, boolean isLast)`
    `void` | PeerState2.`gotFragment(byte[] data, int off, int len, long messageId, int frag, boolean isLast)`
    `void` | SSU2Payload.PayloadCallback.`gotOptions(byte[] options, boolean isHandshake)`
    `void` | SSU2Payload.PayloadCallback.`gotRI(RouterInfo ri, boolean isHandshake, boolean flood)`
    `void` | OutboundEstablishState2.`gotRI(RouterInfo ri, boolean isHandshake, boolean flood)`
    `void` | InboundEstablishState2.`gotRI(RouterInfo ri, boolean isHandshake, boolean flood)` For most errors here we throw a RIException with a reason code, which is caught in processPayload() to create a PeerStateDestroyed and send a termination with that reason.
    `void` | PeerState2.`gotRI(RouterInfo ri, boolean isHandshake, boolean flood)`
    `static int` | SSU2Payload.`processPayload(I2PAppContext ctx, SSU2Payload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake, RemoteHostId from)` Incoming payload.
    `boolean` | InboundMessageState.`receiveFragment(byte[] data, int off, int len, int fragmentNum, boolean isLast)` Receives and stores a fragment.

    Constructors in net.i2p.router.transport.udp that throw DataFormatException
    Constructor and Description
    `InboundMessageState(RouterContext ctx, long messageId, Hash from, byte[] data, int off, int len, int fragmentNum, boolean isLast)` Constructs and initializes by receiving one fragment.

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

    Methods in net.i2p.sam that throw DataFormatException
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | SAMv2StreamSession.`connect(int id, String dest, Properties props)` Connect the SAM STREAM session to the specified Destination
    `boolean` | SAMStreamSession.`connect(int id, String dest, Properties props)` Connect the SAM STREAM session to the specified Destination
    `void` | SAMv3StreamSession.`connect(SAMv3Handler handler, String dest, Properties props)` Connect the SAM STREAM session to the specified Destination for a single connection, using the socket stolen from the handler.
    `static Destination` | SAMUtils.`getDest(String s)` Resolve the destination from a key or a hostname
    `(package private) SAMStreamSession` | SAMv2Handler.`newSAMStreamSession(String destKeystream, String direction, Properties props)`
    `abstract boolean` | SAMMessageSession.`sendBytes(String dest, byte[] data, int proto, int fromPort, int toPort)` Send bytes through a SAM message-based session.
    `boolean` | SAMMessageSess.`sendBytes(String dest, byte[] data, int proto, int fromPort, int toPort)` Send bytes through a SAM message-based session.
    `boolean` | SAMRawSession.`sendBytes(String dest, byte[] data, int proto, int fromPort, int toPort)` Send bytes through a SAM RAW session.
    `boolean` | SAMDatagramSession.`sendBytes(String dest, byte[] data, int proto, int fromPort, int toPort)` Send bytes through a SAM DATAGRAM session.
    `boolean` | SAMMessageSess.`sendBytes(String dest, byte[] data, int proto, int fromPort, int toPort, boolean sendLeaseSet, int sendTags, int tagThreshold, int expiration)` Send bytes through a SAM message-based session.
    `boolean` | SAMRawSession.`sendBytes(String dest, byte[] data, int proto, int fromPort, int toPort, boolean sendLeaseSet, int sendTags, int tagThreshold, int expiration)` Send bytes through a SAM RAW session.
    `boolean` | SAMDatagramSession.`sendBytes(String dest, byte[] data, int proto, int fromPort, int toPort, boolean sendLeaseSet, int sendTags, int tagThreshold, int expiration)` Send bytes through a SAM DATAGRAM session.
    `protected boolean` | SAMMessageSession.`sendBytesThroughMessageSession(String dest, byte[] data, int proto, int fromPort, int toPort)` Actually send bytes through the SAM message-based session I2PSession (er...).
    `protected boolean` | SAMMessageSession.`sendBytesThroughMessageSession(String dest, byte[] data, int proto, int fromPort, int toPort, boolean sendLeaseSet, int sendTags, int tagThreshold, int expiration)` Actually send bytes through the SAM message-based session I2PSession, using per-message extended options.

    Constructors in net.i2p.sam that throw DataFormatException
    Constructor and Description
    `MasterSession(String nick, SAMv3DatagramServer dgServer, SAMv3Handler handler, Properties props)` Build a Session according to information registered with the given nickname.
    `SAMDatagramSession(I2PSession sess, Properties props, int listenPort, SAMDatagramReceiver recv)` Create a new SAM DATAGRAM session on an existing I2P session.
    `SAMDatagramSession(InputStream destStream, Properties props, SAMDatagramReceiver recv)` Create a new SAM DATAGRAM session.
    `SAMDatagramSession(String dest, Properties props, SAMDatagramReceiver recv)` Create a new SAM DATAGRAM session.
    `SAMMessageSession(I2PSession sess, int listenProtocol, int listenPort)` Initialize a new SAM message-based session using an existing I2PSession.
    `SAMMessageSession(InputStream destStream, Properties props)` Initialize a new SAM message-based session.
    `SAMMessageSession(String dest, Properties props)` Initialize a new SAM message-based session.
    `SAMRawSession(I2PSession sess, Properties props, int listenProtocol, int listenPort, SAMRawReceiver recv)` Create a new SAM RAW session on an existing I2P session.
    `SAMRawSession(InputStream destStream, Properties props, SAMRawReceiver recv)` Create a new SAM RAW session.
    `SAMRawSession(String dest, Properties props, SAMRawReceiver recv)` Create a new SAM RAW session.
    `SAMStreamSession(I2PSocketManager mgr, Properties props, SAMStreamReceiver recv, int listenport)` Create a new SAM STREAM session on an existing socket manager.
    `SAMStreamSession(InputStream destStream, String dir, Properties props, SAMStreamReceiver recv)` Create a new SAM STREAM session.
    `SAMStreamSession(String dest, String dir, Properties props, SAMStreamReceiver recv)` Create a new SAM STREAM session.
    `SAMv2StreamSession(InputStream destStream, String dir, Properties props, SAMStreamReceiver recv)` Create a new SAM STREAM session.
    `SAMv2StreamSession(String dest, String dir, Properties props, SAMStreamReceiver recv)` Create a new SAM STREAM session.
    `SAMv3DatagramSession(String nick, Properties props, SAMv3Handler handler, I2PSession isess, int listenPort, SAMv3DatagramServer dgServer)` Build a Datagram Session on an existing i2p session registered with the given nickname Caller MUST call start().
    `SAMv3DatagramSession(String nick, SAMv3DatagramServer dgServer)` build a DatagramSession according to informations registered with the given nickname Caller MUST call start().
    `SAMv3RawSession(String nick, Properties props, SAMv3Handler handler, I2PSession isess, int listenProtocol, int listenPort, SAMv3DatagramServer dgServer)` Build a Raw Session on an existing i2p session registered with the given nickname Caller MUST call start().
    `SAMv3RawSession(String nick, SAMv3DatagramServer dgServer)` Build a Raw Datagram Session according to information registered with the given nickname Caller MUST call start().
    `SAMv3StreamSession(String login)` Create a new SAM STREAM session, according to information registered with the given nickname Caller MUST call start().
    `SAMv3StreamSession(String login, Properties props, SAMv3Handler handler, I2PSocketManager mgr, int listenPort)` Build a Stream Session on an existing I2P session registered with the given nickname Caller MUST call start().

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

    Constructors in org.klomp.snark.dht that throw DataFormatException
    Constructor and Description
    `NodeInfo(String s)` Create from persistent storage string.