Skip to content

Baseline Communication Protocol #1

@ZwFink

Description

@ZwFink

Baseline Communication Protocol

I would have made this page on the project wiki, but only public repositories can have wikis for free.
By implementing this protocol, we can demonstrate a minimum proof of principle with all of the pieces working together. (A simple array-array operation, such as addition, may be useful as well)

Basic Command Structure

  • The first 4 bytes of every command are a 32-bit opcode.
  • The bytes that follow will be specific to each command.
  • For now, all array IDs are 64-bits. Eventually, the size of array IDs and opcodes can be configurable.

Commands

In the commands that follow, leading zeroes are omitted where appropriate.

No Operation

  • Total size: 4 bytes
  • Opcode: 0x00
  • Performs no operation on any arrays, but does send a message to the remote server.

Create Array

  • Total size: 16 + 8*(the number of dimensions)
  • Opcode: 0x01
  • First operand: 8-byte ID for the array
  • Second operand: 4-bytes number specifying the number of dimensions in the array being created.
  • Next operands: 8-bytes for each dimension in the array, specifying the size of each dimension.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions