Skip to content

The Communication Flow

Josh Nave edited this page Apr 1, 2021 · 3 revisions

(In progress)

This page serves to document the standardized flow of communication between subsystems and the core server, and is a good starting point for anyone looking to develop a subsystem.

Note: Throughout this page, 'client' is used as a substitute for 'subsystem', and 'core server' is shortened to 'server'.

Registration

The first step in the communication flow is registration: clients must identify themselves, and in return (if authorized), will be given a permanent communication channel and computational resources server-side.

After the server completes startup, a win32 pipe is opened under the name FMBCRegister; this can be connected to locally or remotely (future release). To register themselves with the server, clients should connect to the pipe using CallNamedPipeA from the win32 api and follow the protocol described below. If the pipe is not available, clients should wait until it is.

The registration handshake is as follows:

  • Step 1
    Once the client has successfully connected to a pipe, (explain initial write data)
  • Step 2
    etc

Clone this wiki locally