The Genny Control Service

Introduction Material:

Copyright:

Copyright (c) 2000-2001 Tom Goulet.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is in the file GNU-FDL in this directory.

Introduction:

This is the Control Service for the Genny Distributed Networking Protocol, which is documented separately. The Control Service acts Genny Node to Genny Node connection maintanence glue.

The Service Number of the Control Service is 0. A Servant must support the Foo and Bar Numerics, but all others are optional.

This documents version 0.8 of the Genny Control Service.

Numerics:

Control Foo:

A Control Foo is used as an "Are you there?". The other Servant must respond with a Control Bar. A Servant will send a Control Foo to check to see if the other hosts exists. It can also be used to check latency. The Numeric of a Control Foo is 0. The Payload of a Control Foo empty. The Client Identifier, Server Identifier, Broadcast Identifier and Time To Live bytes in the Genny Header are filled with ten bytes of random data that must be returned in the Control Bar.

Example Control Foo:

'\023\177\330\265j\013qk\335J' + '\0\0'
 Ten bytes of random data Service Number

Control Bar:

A Control Bar is used as a "Yes, I am here.". It is a response to a Control Foo. The Numeric of a Control Bar is 1. The Payload of a Control Foo is empty. The Client Identifier, Server Identifier, Broadcast Identifier and Time To Live bytes in the Genny Header are filled with the data that was in the Control Foo.

Example Control Bar:

'\023\177\330\265j\013qk\335J' + '\0\0'
 The data that was in the Foo Service Number

Future Numerics:

These have yet to be implemented and mostly ideas.