Stability: 1 - Experimental
Tart transport for Gossipmonger (an implementation of the Scuttlebutt gossip protocol endpoint for real-time peer-to-peer replication).
const GossipmongerTartTransport = require("gossipmonger-tart-transport");
const transport = new GossipmongerTartTransport();
transport.on("deltas", (remotePeer, deltas) =>
{
console.log(remotePeer, deltas);
}
);
transport.on("digest", (remotePeer, digest) =>
{
console.log(remotePeer, digest);
}
);
transport.on("error", error =>
{
console.error(error);
// if error handler is not registered, the error will be thrown
}
);
Tart transport for Gossipmonger.
Public API
- new TartTransport([config])
- tartTransport.deltas(remotePeer, localPeer, deltasToSend)
- tartTransport.digest(remotePeer, localPeer, digestToSend)
- Event "deltas"
- Event "digest"
- Event "error"
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.
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
.
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
.
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(...)
.
(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.
(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) => {}
error
: Object An error that occured.
Emitted when TartTransport encounters an error. If no handler is registered, an error will be thrown.