mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-25 02:22:14 +00:00
BREAKING CHANGE: all API methods with peer-info parameters or return values were changed. You can check the API.md document, in order to check the new values to use
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
'use strict'
|
|
|
|
const { Connection } = require('libp2p-interfaces/src/connection')
|
|
const multiaddr = require('multiaddr')
|
|
|
|
const pair = require('it-pair')
|
|
|
|
const peerUtils = require('../utils/creators/peer')
|
|
|
|
module.exports.createMockConnection = async (properties = {}) => {
|
|
const localAddr = multiaddr('/ip4/127.0.0.1/tcp/8080')
|
|
const remoteAddr = multiaddr('/ip4/127.0.0.1/tcp/8081')
|
|
|
|
const [localPeer, remotePeer] = await peerUtils.createPeerId({ number: 2 })
|
|
const openStreams = []
|
|
let streamId = 0
|
|
|
|
return new Connection({
|
|
localPeer: localPeer,
|
|
remotePeer: remotePeer,
|
|
localAddr,
|
|
remoteAddr,
|
|
stat: {
|
|
timeline: {
|
|
open: Date.now() - 10,
|
|
upgraded: Date.now()
|
|
},
|
|
direction: 'outbound',
|
|
encryption: '/secio/1.0.0',
|
|
multiplexer: '/mplex/6.7.0',
|
|
status: 'open'
|
|
},
|
|
newStream: (protocols) => {
|
|
const id = streamId++
|
|
const stream = pair()
|
|
|
|
stream.close = () => stream.sink([])
|
|
stream.id = id
|
|
|
|
openStreams.push(stream)
|
|
|
|
return {
|
|
stream,
|
|
protocol: protocols[0]
|
|
}
|
|
},
|
|
close: () => { },
|
|
getStreams: () => openStreams,
|
|
...properties
|
|
})
|
|
}
|