Skip to content
This repository was archived by the owner on Jun 26, 2023. It is now read-only.

Commit fc35ea6

Browse files
committed
chore: add routing and discovery interfaces
1 parent 97bebee commit fc35ea6

File tree

6 files changed

+40
-11
lines changed

6 files changed

+40
-11
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
"devDependencies": {
8080
"@types/debug": "^4.1.5",
8181
"aegir": "^32.1.0",
82+
"cids": "^1.1.6",
8283
"events": "^3.3.0",
8384
"it-handshake": "^1.0.2",
8485
"rimraf": "^3.0.2",

src/content-routing/types.d.ts

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import PeerId from 'peer-id'
2+
import Multiaddr from 'multiaddr'
3+
import CID from 'cids'
4+
5+
declare class ContentRouting {
6+
constructor (options: Object);
7+
provide (cid: CID): Promise<void>;
8+
findProviders (cid: CID): AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>;
9+
}

src/peer-discovery/types.d.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import events from 'events';
2+
3+
declare class PeerDiscovery extends events.EventEmitter {
4+
constructor (options: Object);
5+
start (): Promise<void>;
6+
stop (): Promise<void>;
7+
}

src/peer-routing/types.d.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import PeerId from 'peer-id'
2+
import Multiaddr from 'multiaddr'
3+
4+
declare class PeerRouting {
5+
constructor (options: Object);
6+
findPeer (peerId: PeerId): Promise<{ id: PeerId, multiaddrs: Multiaddr[] }>;
7+
}

src/pubsub/index.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const { pipe } = require('it-pipe')
1111
const MulticodecTopology = require('../topology/multicodec-topology')
1212
const { codes } = require('./errors')
1313

14-
const { rpc, RPC, Message, SubOpts } = require('./message') // eslint-disable-line no-unused-vars
14+
const message = require('./message')
1515
const PeerStreams = require('./peer-streams')
1616
const { SignaturePolicy } = require('./signature-policy')
1717
const utils = require('./utils')
@@ -27,9 +27,9 @@ const {
2727
* @typedef {import('bl')} BufferList
2828
* @typedef {import('../stream-muxer/types').MuxedStream} MuxedStream
2929
* @typedef {import('../connection/connection')} Connection
30-
* @typedef {RPC} RPCM
31-
* @typedef {SubOpts} RPCSubOpts
32-
* @typedef {Message} RPCMessage
30+
* @typedef {import('./message/types').RPC} RPC
31+
* @typedef {import('./message/types').SubOpts} RPCSubOpts
32+
* @typedef {import('./message/types').Message} RPCMessage
3333
* @typedef {import('./signature-policy').SignaturePolicyType} SignaturePolicyType
3434
*/
3535

@@ -372,7 +372,7 @@ class PubsubBaseProtocol extends EventEmitter {
372372
*
373373
* @param {string} idB58Str
374374
* @param {PeerStreams} peerStreams
375-
* @param {RPCM} rpc
375+
* @param {RPC} rpc
376376
* @returns {boolean}
377377
*/
378378
_processRpc (idB58Str, peerStreams, rpc) {
@@ -505,28 +505,28 @@ class PubsubBaseProtocol extends EventEmitter {
505505
* This can be override to use a custom router protobuf.
506506
*
507507
* @param {Uint8Array} bytes
508-
* @returns {RPCM}
508+
* @returns {RPC}
509509
*/
510510
_decodeRpc (bytes) {
511-
return rpc.RPC.decode(bytes)
511+
return message.rpc.RPC.decode(bytes)
512512
}
513513

514514
/**
515515
* Encode RPC object into a Uint8Array.
516516
* This can be override to use a custom router protobuf.
517517
*
518-
* @param {RPCM} rpc
518+
* @param {RPC} rpc
519519
* @returns {Uint8Array}
520520
*/
521521
_encodeRpc (rpc) {
522-
return rpc.RPC.encode(rpc)
522+
return message.rpc.RPC.encode(rpc)
523523
}
524524

525525
/**
526526
* Send an rpc object to a peer
527527
*
528528
* @param {string} id - peer id
529-
* @param {RPCM} rpc
529+
* @param {RPC} rpc
530530
* @returns {void}
531531
*/
532532
_sendRpc (id, rpc) {
@@ -744,7 +744,7 @@ class PubsubBaseProtocol extends EventEmitter {
744744
}
745745
}
746746

747-
PubsubBaseProtocol.message = { rpc }
747+
PubsubBaseProtocol.message = message
748748
PubsubBaseProtocol.utils = utils
749749
PubsubBaseProtocol.SignaturePolicy = SignaturePolicy
750750

src/pubsub/message/types.d.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { RPC, Message, SubOpts } from './types'
2+
3+
export type RPC = RPC
4+
export type Message = Message
5+
export type SubOpts = SubOpts

0 commit comments

Comments
 (0)