Skip to main content

Protobuf Overview

NSB uses a single Protobuf message type โ€” nsbm โ€” for all communication between the daemon, application clients, and simulator clients.

What nsbm Isโ€‹

Every message that travels across NSB โ€” INIT handshakes, SEND/FETCH/POST/RECEIVE operations, PING checks, EXIT signals โ€” is encoded as exactly one Protobuf message type: nsbm. There is no second message format. A single schema, shared between the C++ and Python client libraries, is what makes the two languages fully wire-compatible.

Schema Fileโ€‹

Location: proto/nsb.proto

Compiled outputs:

  • C++: cpp/proto/nsb.pb.cc and nsb.pb.h
  • Python: python/proto/proto/nsb_pb2.py (also in rabbit/proto/)

For the complete schema with every field documented, see Protobuf Schema.

Go Deeperโ€‹