Pipe Binding Protocol
The PBP is used by applications and services to communicate with each other. A pipe is a virtual communication channel between two endpoints described via a pipe advertisement. Pipes have two ends: the input pipe end (receiving end) and the output pipe end (sending end). The PBP is layered on the endpoint protocol to access a variety of transport protocols, such as HTTP, TCP/IP, and TLS Transport. There are currently three different types of pipes:
-
Unicast
Unicast, insecure, and unreliable. This type of pipe is used for sending one-to-one messages.
-
UnicastSecure
Unicast and secure (using TLS). Data is encrypted using the TLS protocol.
-
Propagate
Broadcast pipe. This pipe is used for sending one to many messages. Any peers listening on a
PropagateType
pipe may receive messages sent to that pipe.
The pipe type is defined in the associated pipe advertisement. A pipe can be viewed as an abstract named message queue, supporting create, open/resolve (bind), close (unbind), delete, send, and receive operations.
Actual pipe implementations may differ, but all compliant implementations use PBP to bind the pipe ends to physical peer endpoints.
A reliable transport is optional. Multiple binding query messages may be sent. Zero, one, or multiple responses may be received.
The pipe resolver message contains the fields in Example 17-8.
Example 17-8. Pipe resolver message schema
<xs:element name="PipeResolver" type="jxta:PipeResolver"/> <xs:complexType ...
Get JXTA in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.