network-collection
v1.0.6
Published
Baseline collection of graphs and network data structures using **socket.io**.
Downloads
7
Maintainers
Readme
Distributed Graph and Network Data Structures
Baseline collection of graphs and network data structures using socket.io.
npm i --save network-collection
# New terminal
node example/server
# New terminal
node example/client
Cluster
A standalone cluster of Network(s) for distributing actions through socket connections.
let manager = new Cluster(io);
- io - An instance of a socket.io server.
| Methods | Actions |
| ------------- | ------------- |
| connect(socket, callback) | Connect a socket and add listeners. |
| map(callback) | Map functions to each socket on the network and await the responses. callback
is called with the socket id and index. |
| addGraph(socketId, graph) | Add a Graph to a specific clients network. |
| removeGraph(socketId, graphId) | Remove a Graph to a specific clients network. |
| addEdge(socketId, graphId, fromId, toId) | Add an edge from a Node to a Node to a specific clients Graph. |
| removeEdge(socketId, graphId, fromId, toId) | Remove an edge from a Node to a Node to a specific clients Graph. |
| addNode(socketId, graphId, node) | Add a Node to a specific clients Graph. |
| removeNode(socketId, graphId, nodeId) | Remove a Node to a specific clients Graph. |
Network
A collection of Graphs.
let network = new Network(socket, options);
- socket - socket instance.
- options
- graphs - Collection of key(s) -> Graph(s)
| Methods | Actions | | ------------- | ------------- | | connect(socket, callback) | Connect a socket and add listeners. | | addGraph(graph) | Add a Graph to a network. | | removeGraph(graphId) | Remove a Graph to a network. | | addEdge(graphId, fromId, toId) | Add an edge from a Node to a Node to a Graph. | | removeEdge(graphId, fromId, toId) | Remove an edge from a Node to a Node to a Graph. | | addNode(graphId, node) | Add a Node to a Graph. | | removeNode(graphId, nodeId) | Remove a Node to a Graph. |
Graph
A set of N (Nodes) and E Edges.
let graph = new Graph(options);
- options
- nodes - Map of key(s) -> Node(s)
- edges - Map of key(s) -> [from -> to] [nodeId -> Node] pairs(s)
- id - A unique identifier string.
| Methods | Actions | | ------------- | ------------- | | addEdge(fromId, toId) | Add an edge from a Node to a Node. | | removeEdge(fromId, toId) | Remove an edge from a Node to a Node. | | addNode(node) | Add a Node. | | removeNode(nodeId) | Remove a Node. |
Node
An individual vertex (of a graph connected by an edge to another vertex).
let node = new Node(options);
- options
- edges - Map of key(s) -> [from -> to] [nodeId -> Node] pairs(s)
- id - A unique identifier string.
| Methods | Actions | | ------------- | ------------- | | addEdge(toId) | Add an edge to a Node. | | removeEdge(toId) | Remove an edge to a Node. |