Jockey Peer Interface (PI) Design |
The peer interface (PI) API is intended to provide an application developer with a view into a peer network. This API is as minimal as possible, since it is provided as an interface between an application running as a process and the Jockey engine, which runs as a separate process, once per machine. Implementations of The PI API must perform the interprocess communication (IPC) between the application and engine. The initial implementation will perform the IPC by implementing the PI API as a shared library or DLL, which can be invoked from multiple applications, but will make calls upon a single instance of the Jockey engine.
The first section of the API provides calls for the application to begin a new peer session, end an existing peer session, and query for status of the peer network and the peer identity.
![]() |
PeerPlatform | Related Classes |
---|---|
|
PlatformInfo |
PlatformInfo | Related Classes |
---|---|
|
PeerPlatform |
DeviceDescriptor | Related Classes |
---|---|
|
PeerToken |
PeerToken | Related Classes |
---|---|
|
DeviceDescriptor |
AppDescriptor | Related Classes |
---|---|
|
PeerPlatform |
Authority | Related Classes |
---|---|
|
Credential |
Credential | Related Classes |
---|---|
|
Authority |
The objects depicted below provide an interface for a user application to launch searches of the peer network, in order to find neighboring peers, peer groups, and services.
![]() |
PeerGroupToken | Related Classes |
---|---|
|
PeerGroupToken PeerGroupDescriptor PeerNetwork |
PeerGroupDescriptor | Related Classes |
---|---|
|
PeerGroupToken PeerNetwork |
PeerNetwork | Related Classes |
---|---|
|
PeerNetworkBrowser | Related Classes |
---|---|
|
PeerNetworkListener | Related Classes |
---|---|
|
PeerNetworkBrowser |
FindMarker | Related Classes |
---|---|
|
PeerNetworkBrowser |
The next set of objects enable an application to communicate with other applications through the peer network.
The communications subset of the PI API simplifies network communications for applications which desire to do the most common application messaging. The message handling system scopes all messages by peer network group; the application must go through extra steps to communicate with other applications outside of the application's current group.
This portions of the API relies on some assumptions about the communications available from the peer network. These assumptions are:
![]() |
MessageBroker |
Related Classes |
---|---|
|
MessageListener |
MessageListener | Related Classes |
---|---|
|
PeerMessage | Related Classes |
---|---|
|
SendMarker | Related Classes |
---|---|
|
PeerMessage |
ReceiveMarker | Related Classes |
---|---|
|
PeerMessage |
ResponseMarker | Related Classes |
---|---|
|
PeerMessage SendMarker |