gossipmonger-tart-transport
Stability: 1 - Experimental
Tart transport for Gossipmonger (an implementation of the Scuttlebutt gossip protocol endpoint for real-time peer-to-peer replication).
Contributors
Usage
const GossipmongerTartTransport = ;const transport = ; transport; transport; transport;
Overview
Tart transport for Gossipmonger.
Documentation
TartTransport
Public API
- new TartTransport([config])
- tartTransport.deltas(remotePeer, localPeer, deltasToSend)
- tartTransport.digest(remotePeer, localPeer, digestToSend)
- Event "deltas"
- Event "digest"
- Event "error"
new TartTransport([config])
config
: Object Configuration.authority
: String (Default: random) Tart Ansible protocol authority name to use for this transport.randomBytes
: Function Allow for replacement ofcrypto.randomBytes
in case of need for deterministic testing.router
: Function Tart-marshal router to register this transport's domain.
Creates a new TartTransport ready to send and receive messages.
tartTransport.deltas(remotePeer, localPeer, deltasToSend)
remotePeer
: Object Peer to send message to.transport
: Object Tart transport data.ansible
: String Ansible address of peer to send message to.
localPeer
: Object Sender peer.id
: String Sender peer id.transport
: Object Tart transport data.ansible
: String Ansible address of peer sending the message.
deltasToSend
: Any Deltas to send
Sends deltasToSend
to the remotePeer
.
tartTransport.digest(remotePeer, localPeer, digestToSend)
remotePeer
: Object Peer to send message to.transport
: Object Tart transport data.ansible
: String Ansible address of peer to send message to.
localPeer
: Object Sender peer.id
: String Sender peer id.transport
: Object Tart transport data.ansible
: String Ansible address of peer sending the message.
digestToSend
: Any Digest to send
Sends digestToSend
to the remotePeer
.
tartTransport.send(remotePeer, payload)
CAUTION: reserved for internal use
remotePeer
: Object Peer to send message to.transport
: Object Tart transport data.ansible
: String Ansible address of peer to send message to.
payload
: String or Object Payload to send to peer.
Internal common implementation for tartTransport.deltas(...)
and tartTransport.digest(...)
.
deltas
Event (remotePeer, deltas) => {}
remotePeer
: Objectid
: String Id of the peer.transport
: Any Any data identifying this peer to the transport mechanism that is is required for correct transport operation.
deltas
: Any Received deltas.
digest
Event (remotePeer, digest) => {}
remotePeer
: Objectid
: String Id of the peer.transport
: Any Any data identifying this peer to the transport mechanism that is is required for correct transport operation.
digest
: Any Received digest.
error
Event (error) => {}
error
: Object An error that occured.
Emitted when TartTransport encounters an error. If no handler is registered, an error will be thrown.