| 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. |
| 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. |
| Modifier and Type | Method and Description |
|---|---|
void | SHA1Hash.readBytes(InputStream in)readBytes. |
| 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 |
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)Loads structure from the data provided
Warning - many classes will throw IllegalStateException if data is already set. |
static Date | DataHelper.fromDate(byte[] src,
int offset)Read a date (8-byte timestamp) from a byte array. |
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. |
void | DateAndFlags.readBytes(InputStream in)Load up the current object with data from the given stream. |
void | Lease2.readBytes(InputStream in) |
void | TunnelId.readBytes(InputStream in)Read the tunnel ID from a stream. |
void | LeaseSet.readBytes(InputStream in)This does NOT validate the signature |
void | Certificate.readBytes(InputStream in)Reads the certificate from an input stream. |
void | Payload.readBytes(InputStream in)Reads this payload from an input stream (4-byte length-prefixed data). |
void | Lease.readBytes(InputStream in)Reads the lease from an input stream. |
void | MetaLease.readBytes(InputStream in)Reads the lease from an input stream. |
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)Reads the hash from an input stream. |
void | KeysAndCert.readBytes(InputStream in)Reads the keys and certificate from an input stream. |
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)Read the LeaseSet2 header from a stream. |
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)Read the offline signing section from a stream. |
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 |
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)Writes the props to the byte array, sorted
See readProperties() for the format. |
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()Write the keys to the file. |
protected void | LeaseSet2.writeBody(OutputStream out)Without sig. |
void | DateAndFlags.writeBytes(OutputStream out)Write out the data structure to the stream, using the format defined in the
I2P data structure specification. |
void | Lease2.writeBytes(OutputStream out) |
void | TunnelId.writeBytes(OutputStream out)Write the tunnel ID to a stream. |
void | LeaseSet.writeBytes(OutputStream out)This does NOT validate the signature |
void | Certificate.writeBytes(OutputStream out) |
void | Payload.writeBytes(OutputStream out)Writes this payload to an output stream (4-byte length-prefixed data). |
void | Lease.writeBytes(OutputStream out)Writes the lease to an output stream. |
void | MetaLease.writeBytes(OutputStream out)Writes the lease to an output stream. |
void | SimpleDataStructure.writeBytes(OutputStream out)Writes the data to the output stream. |
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)Writes the keys and certificate to an output stream. |
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)Write the LeaseSet2 header to a stream. |
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)Write the offline signing section to a stream. |
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. |
| Constructor and Description |
|---|
Destination(String s)alternative constructor which takes a base64 string representation |
KeyCertificate(byte[] payload)4 bytes minimum if non-null. |
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 |
| Modifier and Type | Method and Description |
|---|---|
void | SessionId.readBytes(InputStream in)Read the session ID from a stream. |
void | I2CPMessageImpl.readBytes(InputStream in)Read the message from the stream, wrapping I2CPMessageException in DataFormatException. |
void | SessionConfig.readBytes(InputStream rawConfig)Reads the session config from a stream. |
void | AbuseSeverity.readBytes(InputStream in)Reads the severity level from a stream. |
void | AbuseReason.readBytes(InputStream in)Reads the abuse reason from a stream. |
void | MessageId.readBytes(InputStream in)Read the message ID from a stream. |
void | SessionConfig.signSessionConfig(SigningPrivateKey signingKey)Sign the structure using the supplied private key |
void | SessionId.writeBytes(OutputStream out)Writes the session ID to a stream. |
void | I2CPMessageImpl.writeBytes(OutputStream out)Write the message to the stream, wrapping I2CPMessageException in DataFormatException. |
void | SessionConfig.writeBytes(OutputStream out)Writes the session config to a stream. |
void | AbuseSeverity.writeBytes(OutputStream out)Writes the severity level to a stream. |
void | AbuseReason.writeBytes(OutputStream out)Writes the abuse reason to a stream. |
void | MessageId.writeBytes(OutputStream out)Write the message ID to a stream. |
| Modifier and Type | Method and Description |
|---|---|
int | GarlicClove.readBytes(byte[] source,
int offset) |
void | GarlicClove.readBytesRatchet(byte[] source,
int offset,
int len)Short format for ECIES-Ratchet, saves 22 bytes. |
| Constructor and Description |
|---|
BuildRequestRecord(RouterContext ctx,
PrivateKey ourKey,
EncryptedBuildRecord encryptedRecord)Decrypts an encrypted build request record. |
| 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 |
| 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 |
| 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. |
byte[] | ElGamalAESEngine.decryptFast(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)Tags only. |
byte[] | ElGamalAESEngine.decryptSlow(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)Full ElG only. |
| 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)Receive a datetime block. |
void | RatchetPayload.PayloadCallback.gotOptions(byte[] options,
boolean isHandshake)Receive an options block. |
static int | RatchetPayload.processPayload(I2PAppContext ctx,
RatchetPayload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake)Process a ratchet payload, calling the callback for each block found. |
| Modifier and Type | Method and Description |
|---|---|
CloveSet | GarlicMessageParser.readCloveSet(byte[] data,
int offset)ElGamal only |
| 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. |
| Modifier and Type | Method and Description |
|---|---|
static LoadRouterInfoJob.KeyData | LoadRouterInfoJob.readKeyData(File rkf1,
File rkf2)Read key data from the specified files. |
| Modifier and Type | Method and Description |
|---|---|
void | NTCP2Payload.PayloadCallback.gotDateTime(long time)gotDateTime. |
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. |
| Constructor and Description |
|---|
NTCPConnection(RouterContext ctx,
NTCPTransport transport,
RouterIdentity remotePeer,
RouterAddress remAddr,
int version)Create an outbound unconnected NTCP connection. |
| Modifier and Type | Method and Description |
|---|---|
void | SSU2Payload.PayloadCallback.gotDateTime(long time)Receive a date/time synchronization block. |
void | SSU2Payload.PayloadCallback.gotFragment(byte[] data,
int off,
int len,
long messageID,
int frag,
boolean isLast)Receive a fragment of a fragmented message. |
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)gotFragment. |
void | PeerState2.gotFragment(byte[] data,
int off,
int len,
long messageId,
int frag,
boolean isLast)gotFragment. |
void | SSU2Payload.PayloadCallback.gotOptions(byte[] options,
boolean isHandshake)Receive a session options block. |
void | SSU2Payload.PayloadCallback.gotRI(RouterInfo ri,
boolean isHandshake,
boolean flood)Receive a complete RouterInfo block. |
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)gotRI. |
static int | SSU2Payload.processPayload(I2PAppContext ctx,
SSU2Payload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake,
RemoteHostId from)Incoming payload. |
| 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. |
| Modifier and Type | Method and Description |
|---|---|
boolean | SAMv2StreamSession.connect(int id,
String dest,
Properties props)Connect the SAM STREAM session to the specified Destination |
void | MasterSession.connectAsync(SAMv3Handler handler,
String dest,
Properties props) |
void | SAMv3StreamSession.connectAsync(SAMv3Handler handler,
String dest,
Properties props)Initiate an async STREAM CONNECT. |
static Destination | SAMUtils.getDest(String s)Resolve the destination from a key or a hostname |
(package private) SAMStreamSession | SAMv2Handler.newSAMv2StreamSession(String destKeystream,
String direction,
Properties props)New SAMv2 stream session. |
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. |
| Constructor and Description |
|---|
MasterSession(String nick,
SAMv3DatagramServer dgServer,
SAMv3Handler handler,
Properties props)Build a Session according to information
registered with the given nickname. |
SAMDatagramSession(String dest,
Properties props,
SAMDatagramReceiver recv)Create a new SAM DATAGRAM session. |
SAMRawSession(String dest,
Properties props,
SAMRawReceiver recv)Create a new SAM RAW 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(). |
| Constructor and Description |
|---|
NodeInfo(String s)Create from persistent storage string. |