Read first: The documentation for Bamboo and Astron is a work in progress and may contain errors or be incomplete.

Feel free to ask for help on IRC at irc.freenode.net on channel #Astron.

Object-oriented Network Protocls

Bamboo is a languange-independent encoding, library, and toolset for defining network behavior using object-oriented design.

There are a couple good ways to approach Bamboo...

You can think of it like an
ORM for networking

instead of mapping
object-data to database columns
method-calls to SQL queries

it maps
object-data to sync messages
method-calls to remote procedure calls


Or you can use it as
protocol definition language

dclass DistributedWorld {
  createAvatar(channel client) airecv;
};

dclass DistributedAvatar {
  setXYZ(int16, int16, int16) broadcast;
  indicateIntent(int16, int16);
};