Skip to main content

A gossip-based swarm communication library

Project description

SwarmNet

A robust communications library for robot swarms. This is based on gossip protocols where the message will propagate around the swarm. When an agent receives a message it has not seen before, it will broadcast it to all other members of the swarm.

Usage

A SwarmNet object must be created that handles all of the communication. Only one instance should be created. To start the communication framework, the start() method must be run.

All devices must use the same port number

This start() command will broadcast a JOIN command to register with the rest of the swarm.

Message Format

All messages follow the format: <CMD> <DATA1> <DATA2> ...

A dictionary that maps command tokens to functions is passed to the SwarmNet constructor. The signature of this map is Dict[str, Callable[[Optional[str]], None]] where the str passed to the parser function is the rest of the message string (if any)

Internally, every message is prefixed with an identifier that is not overwritten when the message is forwarded by receivers. This means agents will not parse their own message or parse the same message more than once.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swarmnet-0.0.2.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

swarmnet-0.0.2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file swarmnet-0.0.2.tar.gz.

File metadata

  • Download URL: swarmnet-0.0.2.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for swarmnet-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4204b8c67b7f0facb96bc0ec15a4b686af4447782459a1996cf39f239ae19dbd
MD5 5ca6333555f77842965910e1b5ebe81a
BLAKE2b-256 6722944f00f9d5a3f2e8ba1310e31ac94f052d4fbc75e93780ed6c06d2037639

See more details on using hashes here.

File details

Details for the file swarmnet-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: swarmnet-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for swarmnet-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e1ffa2f2f0447970a45b18018edd9c76a3b80379b701aeaa6e15370ec99266e0
MD5 d6ced156a5ebd3f7b22d4b5486dcf0f0
BLAKE2b-256 e57c5555ea41e88dd3891cde8c8fe57dbc59fff16257b9174a4654bff70c4ff5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page