feat: add WebRTC Direct support for filtering

This commit is contained in:
David Dias 2017-01-16 14:59:35 +00:00
parent d20d28ce52
commit db00d97807
3 changed files with 16 additions and 2 deletions

View File

@ -39,7 +39,7 @@
"pre-commit": "^1.2.2" "pre-commit": "^1.2.2"
}, },
"dependencies": { "dependencies": {
"multiaddr": "^2.1.1" "multiaddr": "^2.1.3"
}, },
"contributors": [ "contributors": [
"David Dias <daviddias.p@gmail.com>", "David Dias <daviddias.p@gmail.com>",

View File

@ -7,7 +7,9 @@ var TCP = and(IP, base('tcp'))
var UDP = and(IP, base('udp')) var UDP = and(IP, base('udp'))
var UTP = and(UDP, base('utp')) var UTP = and(UDP, base('utp'))
var WebSockets = and(TCP, base('ws')) var WebSockets = and(TCP, base('ws'))
var HTTP = and(TCP, base('http'))
var WebRTCStar = and(base('libp2p-webrtc-star'), WebSockets, base('ipfs')) var WebRTCStar = and(base('libp2p-webrtc-star'), WebSockets, base('ipfs'))
var WebRTCDirect = and(base('libp2p-webrtc-direct'), HTTP)
var Reliable = or(WebSockets, TCP, UTP) var Reliable = or(WebSockets, TCP, UTP)
// required cause some transports are already IPFS aware (like WebRTCStar) // required cause some transports are already IPFS aware (like WebRTCStar)
@ -22,8 +24,10 @@ exports.IP = IP
exports.TCP = TCP exports.TCP = TCP
exports.UDP = UDP exports.UDP = UDP
exports.UTP = UTP exports.UTP = UTP
exports.HTTP = HTTP
exports.WebSockets = WebSockets exports.WebSockets = WebSockets
exports.WebRTCStar = WebRTCStar exports.WebRTCStar = WebRTCStar
exports.WebRTCDirect = WebRTCDirect
exports.Reliable = Reliable exports.Reliable = Reliable
exports.IPFS = IPFS exports.IPFS = IPFS

View File

@ -56,6 +56,11 @@ describe('multiaddr validation', function () {
'/libp2p-webrtc-star/ip6/::/tcp/0/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo5' '/libp2p-webrtc-star/ip6/::/tcp/0/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo5'
] ]
var goodWebRTCDirect = [
'/libp2p-webrtc-direct/ip4/1.2.3.4/tcp/3456/http',
'/libp2p-webrtc-direct/ip6/::/tcp/0/http'
]
var badWS = [ var badWS = [
'/ip4/0.0.0.0/tcp/12345/udp/2222/ws', '/ip4/0.0.0.0/tcp/12345/udp/2222/ws',
'/ip6/::/ip4/0.0.0.0/udp/1234/ws' '/ip6/::/ip4/0.0.0.0/udp/1234/ws'
@ -120,6 +125,11 @@ describe('multiaddr validation', function () {
assertMismatches(mafmt.WebRTCStar, goodIP, goodUDP, badWS) assertMismatches(mafmt.WebRTCStar, goodIP, goodUDP, badWS)
}) })
it('WebRTC-direct validation', function () {
assertMatches(mafmt.WebRTCDirect, goodWebRTCDirect)
assertMismatches(mafmt.WebRTCDirect, goodIP, goodUDP, badWS)
})
it('IPFS validation', function () { it('IPFS validation', function () {
assertMatches(mafmt.IPFS, goodIPFS) assertMatches(mafmt.IPFS, goodIPFS)
}) })