Package org.jnetstream.protocol

A network protocol registry.

See:
          Description

Interface Summary
BindingResolver Resolves a binding to a protocol.
Bound<T> Defines a method for checking a binding by value of a protocol.
Characteristic Describes a characteristic of protocol.
Protocol Contains basic information about a protocol such as a unique ID that is only valid in single VM and single instance, name of the protocol.
ProtocolBinding Protocol binding is a link/binding between two different protocols.
ProtocolEntry  
ProtocolGroup Grouping of protocols as a family.
ProtocolInfo<T extends Header> Defines access to a Protocol.
ProtocolInfo.Binding Binding between protocols.
ProtocolInfo.ID Defines a unique identification of a protocol.
ProtocolInfo.Info Informational interface which provides information about the protocol.
ProtocolInfo.Registry Protocol registry factory methods.
ProtocolLoader A protocol loader is an object that is responsible for loading protocols.
 

Class Summary
Characteristic.BitCodec A special utility method which can encode and decode a set of characteristics into a bitwise representation in a 32-bit unsigned integer.
DefaultProtocolEntry  
NullField An empty, no action, stub stand-in.
NullHeader An empty, no action, stub stand-in.
NullProtocol An empty, no action, stub stand-in.
ProtocolRegistry Main protocol registry.
 

Enum Summary
Characteristic.Frame Describes frame characteristics of a protocol.
Characteristic.Kind Kind of protocol this is.
Characteristic.Physical Describes the physical characteristics of the network.
Protocol.Builtin A list of builtin protocols, used for testing and other purposes
ProtocolInfo.Suite Enum structure which defines all of the jNetStream system defined protocol suites.
 

Exception Summary
ProtocolBindingException An error occured during loading, unloading or discovery of a protocol binding.
ProtocolDeclarationException Protocol contains valid NPL syntax, but declaration is in corrent in the corresponding circumstance.
ProtocolException  
ProtocolNotFoundException Simlar to FileNotFoundException, the protocol was not found by the ProtocolLoader.
 

Package org.jnetstream.protocol Description

A network protocol registry. You can access various protocol related services using this package. This package is responsible for finding and loading protocol definitions and their bindings. The runtime environment uses the ProtocolRepository to query about protocol bindings. Only protocols that are needed at any given time are loaded (ondemand protocol loading.) Thus jNetStream is much more efficient as only parts of the protocols are loaded when needed. All protocols once loaded are cached and are reused when needed again.

The main class is the ProtocolRegistry which allows a user to access most of the functionality. Using the ProtocolRegistry.getDefault() factory method, you get a working instance of the ProtocolRegistry which you can use to:

jNetStream also defines a number of standard names for protocol suites. Protocol suite is a way to group all of the defined protocols by functionality. These protocol suite definitions actually correspond to directory structure in native filesystem or database by which all the protocol definitions are grouped. Also jNetStream expects protocol binding definitions to be placed in suite specific files. User defined suites are not part of this API, as this API only exposes the system defined suites. There is a large number of them which for the most part will address any protocol placement needs, but user can also define its own definitions as long as they do not conflict with these system defined ones.

To get a list of these system defined suites use the ProtocolSuite enum class. In pre Java5 environments this class defines all of the standard Java5 enum API and is upwards compatible. This means that the user is safe in using the ProtocolSuite API in both pre and post Java5 environments without getting compiler warnings or errors.