2.22.1-dev.224e5107 • Published 4 years ago

@dxos/network-generator v2.22.1-dev.224e5107

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
4 years ago

Network generator

Simulate a network graph of connection streams.

Install

$ npm install @dxos/network-generator

Usage

import { NetworkGenerator } from '@dxos/network-generator';

const generator = new NetworkGenerator({
  async createPeer(id) {
    // defines the peer object for the network. An "id" is required.
    return { id, name: `peer${nodeId}` };
  }
  async createConnection(peerFrom, peerTo) {
    // do something to connect peerFrom <--> peerTo
  }
});

(async () => {
  const network = await generator.balancedBinTree(5);

  console.log(network.peers)
  console.log(network.connections)
})();

API

const generator = new NetworkGenerator([options])

Creates a network generator instance.

  • options:
    • createPeer: async (id: Buffer) => Object: Defines how to create the peer object.
    • createConnection: async (peerFrom, peerTo) => Stream: Defines how to create a connection between peerFrom and peerTo. It can return an optional stream.

const network = await generator.balancedBinTree(n)

Creates a network using a balanced binary tree topology n levels

  • n: number: Number of levels for the binary tree.

NetworkGenerator uses ngraph.generator, you can generate any topology supported by them topologies

network.peers -> Peer[]

Returns an array of peers.

network.connections -> Connection[]

Returns an array of connections.

network.graph -> ngraph

Returns the ngraph instance.

await network.addPeer(id) -> Peer

Adds a new peer to the network.

await network.deletePeer(id)

Deletes a peer from the network.

await network.addConnection(fromId, toId) -> Connection

Adds a new connection to the network.

  • Connection: { fromPeer, toPeer, stream }

await network.deleteConnection(fromId, toId)

Deletes a connection from the network.

await network.destroy()

Destroy the entire network.

Contributing

PRs accepted.

License

GPL-3.0 © dxos

0.1.14

3 years ago

0.1.16

3 years ago

0.1.17

3 years ago

0.1.10

3 years ago

0.1.11

3 years ago

0.1.12

3 years ago

0.1.13

3 years ago

0.1.0

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.9

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

2.33.1

3 years ago

2.33.0

3 years ago

2.33.7

3 years ago

2.33.6

3 years ago

2.33.8

3 years ago

2.33.3

3 years ago

2.33.2

3 years ago

2.33.5

3 years ago

2.33.4

3 years ago

2.32.0

4 years ago

2.31.1

4 years ago

2.31.0

4 years ago

2.31.3

4 years ago

2.31.2

4 years ago

2.31.5

4 years ago

2.31.4

4 years ago

2.31.7

4 years ago

2.31.6

4 years ago

2.30.2

4 years ago

2.30.1

4 years ago

2.30.0

4 years ago

2.29.0

4 years ago

2.29.1

4 years ago

2.28.22

4 years ago

2.28.23

4 years ago

2.28.20

4 years ago

2.28.21

4 years ago

2.28.19

4 years ago

2.28.17

4 years ago

2.28.18

4 years ago

2.28.15

4 years ago

2.28.16

4 years ago

2.28.9

4 years ago

2.28.8

4 years ago

2.28.5

4 years ago

2.28.4

4 years ago

2.28.7

4 years ago

2.28.6

4 years ago

2.28.13

4 years ago

2.28.14

4 years ago

2.28.11

4 years ago

2.28.12

4 years ago

2.28.10

4 years ago

2.22.0

4 years ago

2.21.0

4 years ago

2.21.2

4 years ago

2.21.1

4 years ago

2.20.0

4 years ago

2.19.8

4 years ago

2.19.9

4 years ago

2.19.6

4 years ago

2.19.7

4 years ago

2.19.4

4 years ago

2.19.5

4 years ago

2.19.3

4 years ago

2.28.1

4 years ago

2.28.0

4 years ago

2.28.3

4 years ago

2.28.2

4 years ago

2.27.9

4 years ago

2.27.6

4 years ago

2.27.5

4 years ago

2.27.8

4 years ago

2.27.7

4 years ago

2.27.2

4 years ago

2.27.1

4 years ago

2.27.4

4 years ago

2.27.3

4 years ago

2.27.0

4 years ago

2.26.1

4 years ago

2.26.0

4 years ago

2.19.10

4 years ago

2.19.11

4 years ago

2.25.0

4 years ago

2.24.0

4 years ago

2.23.0

4 years ago

2.19.2

4 years ago

2.19.0

4 years ago

2.19.1

4 years ago

2.18.3

4 years ago

2.18.2

4 years ago

2.18.1

4 years ago

2.18.0

4 years ago

2.16.15

4 years ago

2.16.14

4 years ago

2.16.17

4 years ago

2.16.16

4 years ago

2.16.11

4 years ago

2.16.10

4 years ago

2.16.13

4 years ago

2.16.12

4 years ago

2.17.4

4 years ago

2.17.2

4 years ago

2.17.3

4 years ago

2.17.0

4 years ago

2.17.1

4 years ago

2.16.9

4 years ago

2.16.7

4 years ago

2.16.8

4 years ago

2.16.6

4 years ago

2.16.5

4 years ago

2.16.3

4 years ago

2.16.4

4 years ago

2.15.8

4 years ago

2.15.9

4 years ago

2.15.6

4 years ago

2.15.7

4 years ago

2.15.4

4 years ago

2.15.5

4 years ago

2.15.2

4 years ago

2.15.3

4 years ago

2.15.0

4 years ago

2.15.1

4 years ago

2.14.5

4 years ago

2.16.1

4 years ago

2.16.2

4 years ago

2.16.0

4 years ago

2.14.3

4 years ago

2.14.4

4 years ago

2.14.1

4 years ago

2.14.2

4 years ago

2.13.0

4 years ago

2.14.0

4 years ago

2.12.23

4 years ago

2.12.22

4 years ago

2.12.21

4 years ago

2.12.20

4 years ago

2.12.19

4 years ago

2.12.18

4 years ago

2.12.17

4 years ago

2.11.0

4 years ago

2.12.0

4 years ago

2.11.1

4 years ago

2.10.10

4 years ago

2.10.11

4 years ago

2.10.12

4 years ago

2.10.13

4 years ago

2.10.14

4 years ago

2.10.1-beta.4

5 years ago

2.10.15

4 years ago

2.10.16

4 years ago

2.10.17

4 years ago

2.12.9

4 years ago

2.12.7

4 years ago

2.10.9

4 years ago

2.12.16

4 years ago

2.12.8

4 years ago

2.12.15

4 years ago

2.12.5

4 years ago

2.10.7

5 years ago

2.12.14

4 years ago

2.12.6

4 years ago

2.10.8

5 years ago

2.12.13

4 years ago

2.12.3

4 years ago

2.10.5

5 years ago

2.12.12

4 years ago

2.12.4

4 years ago

2.10.6

5 years ago

2.12.11

4 years ago

2.12.1

4 years ago

2.10.3

5 years ago

2.12.10

4 years ago

2.12.2

4 years ago

2.10.4

5 years ago

1.0.0-beta.3

5 years ago

1.0.0-beta.2

5 years ago

1.0.0-beta.1

6 years ago

1.0.0-beta.0

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.1

6 years ago