Difference between revisions of "GeometryServiceNetworkProtocol"
From BRL-CAD
(removed pkg) |
(Drop depricated) |
||
Line 12: | Line 12: | ||
---- | ---- | ||
− | |||
− | |||
− | |||
=GSNet Msg Description= | =GSNet Msg Description= |
Revision as of 15:11, 4 May 2011
The Geometry Service Network (GSNet) Protocol is a TCP/IP based protocol designed to facilitate socketed communications between Geometry Service Nodes on a network. A Geometry Service Node is defined as any softwares that supports communication via the GSNet Protocol.
|
GSNet Msg Description
Header
The header of the GSNet Msg contains the information necessary for quickly determining authenticity, type and length. Geometry Service's network library, libNetwork, is built upon BRL-CAD's networking library: libPKG. This causes the header byte layout to look like this:
Element | Length | Value |
MsgType | int16 (2 bytes) | |
MessageLength | int32 (4 bytes) | Does *NOT* include the type or length, so is packet size - 6 |
MessageUUID | String (Variable bytes) | |
HasRegardingUUID | Boolean (1 byte) | |
RegardingMessageUUID | String (Variable bytes) |
GSNet Part
- MsgType: 2 byte integer value that tells what type of message this is.
- MessageUUID: Standard UUID for this message. Currently stored as a string.
- HasRegardingUUID: Boolean flag that indicates whether there is a Regarding UUID or not.
- RegardingMessageUUID: Standard UUID that indicates this NetMsg is a response to another NetMsg.
Data
The Data load of a NetMsg is, obivously, the important and unique part. Data Loads can be as small as zero (in the case of a TypeOnlyMsg) or many kilobytes long.
Here is a list of NetMsg types and here is a list of Common NetMsg Exchanges.