@libp2p/tcp
Advanced tools
Comparing version 7.0.2 to 7.0.3-3dfc236e
@@ -1,5 +0,5 @@ | ||
import { CloseServerOnMaxConnectionsOpts } from './listener.js'; | ||
import { CreateListenerOptions, DialOptions, Transport } from '@libp2p/interface-transport'; | ||
import { type CreateListenerOptions, type DialOptions, type Transport } from '@libp2p/interface-transport'; | ||
import { type CloseServerOnMaxConnectionsOpts } from './listener.js'; | ||
import type { CounterGroup, Metrics } from '@libp2p/interface-metrics'; | ||
import type { AbortOptions } from '@multiformats/multiaddr'; | ||
import type { CounterGroup, Metrics } from '@libp2p/interface-metrics'; | ||
export interface TCPOptions { | ||
@@ -6,0 +6,0 @@ /** |
import net from 'net'; | ||
import { symbol } from '@libp2p/interface-transport'; | ||
import { AbortError, CodeError } from '@libp2p/interfaces/errors'; | ||
import { logger } from '@libp2p/logger'; | ||
import * as mafmt from '@multiformats/mafmt'; | ||
import { logger } from '@libp2p/logger'; | ||
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js'; | ||
import { TCPListener } from './listener.js'; | ||
import { toMultiaddrConnection } from './socket-to-conn.js'; | ||
import { TCPListener } from './listener.js'; | ||
import { multiaddrToNetConfig } from './utils.js'; | ||
import { AbortError, CodeError } from '@libp2p/interfaces/errors'; | ||
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js'; | ||
import { symbol } from '@libp2p/interface-transport'; | ||
const log = logger('libp2p:tcp'); | ||
class TCP { | ||
opts; | ||
metrics; | ||
components; | ||
constructor(components, options = {}) { | ||
@@ -24,8 +27,4 @@ this.opts = options; | ||
} | ||
get [symbol]() { | ||
return true; | ||
} | ||
get [Symbol.toStringTag]() { | ||
return '@libp2p/tcp'; | ||
} | ||
[symbol] = true; | ||
[Symbol.toStringTag] = '@libp2p/tcp'; | ||
async dial(ma, options) { | ||
@@ -67,3 +66,3 @@ options.keepAlive = options.keepAlive ?? true; | ||
} | ||
return await new Promise((resolve, reject) => { | ||
return new Promise((resolve, reject) => { | ||
const start = Date.now(); | ||
@@ -70,0 +69,0 @@ const cOpts = multiaddrToNetConfig(ma); |
import { EventEmitter } from '@libp2p/interfaces/events'; | ||
import type { TCPCreateListenerOptions } from './index.js'; | ||
import type { Connection } from '@libp2p/interface-connection'; | ||
import type { CounterGroup, MetricGroup, Metrics } from '@libp2p/interface-metrics'; | ||
import type { Upgrader, Listener, ListenerEvents } from '@libp2p/interface-transport'; | ||
import type { Multiaddr } from '@multiformats/multiaddr'; | ||
import type { TCPCreateListenerOptions } from './index.js'; | ||
import type { CounterGroup, MetricGroup, Metrics } from '@libp2p/interface-metrics'; | ||
export interface CloseServerOnMaxConnectionsOpts { | ||
@@ -8,0 +8,0 @@ /** Server listens once connection count is less than `listenBelow` */ |
import net from 'net'; | ||
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'; | ||
import { logger } from '@libp2p/logger'; | ||
import { CODE_P2P } from './constants.js'; | ||
import { toMultiaddrConnection } from './socket-to-conn.js'; | ||
import { CODE_P2P } from './constants.js'; | ||
import { getMultiaddrs, multiaddrToNetConfig } from './utils.js'; | ||
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'; | ||
const log = logger('libp2p:tcp:listener'); | ||
@@ -22,8 +22,12 @@ /** | ||
export class TCPListener extends EventEmitter { | ||
context; | ||
server; | ||
/** Keep track of open connections to destroy in case of timeout */ | ||
connections = new Set(); | ||
status = { started: false }; | ||
metrics; | ||
addr; | ||
constructor(context) { | ||
super(); | ||
this.context = context; | ||
/** Keep track of open connections to destroy in case of timeout */ | ||
this.connections = new Set(); | ||
this.status = { started: false }; | ||
context.keepAlive = context.keepAlive ?? true; | ||
@@ -30,0 +34,0 @@ this.addr = 'unknown'; |
@@ -1,5 +0,5 @@ | ||
import type { Socket } from 'net'; | ||
import type { Multiaddr } from '@multiformats/multiaddr'; | ||
import type { MultiaddrConnection } from '@libp2p/interface-connection'; | ||
import type { CounterGroup } from '@libp2p/interface-metrics'; | ||
import type { Multiaddr } from '@multiformats/multiaddr'; | ||
import type { Socket } from 'net'; | ||
interface ToConnectionOptions { | ||
@@ -6,0 +6,0 @@ listeningAddr?: Multiaddr; |
@@ -0,8 +1,8 @@ | ||
import { CodeError } from '@libp2p/interfaces/errors'; | ||
import { logger } from '@libp2p/logger'; | ||
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'; | ||
// @ts-expect-error no types | ||
import toIterable from 'stream-to-it'; | ||
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'; | ||
import { CLOSE_TIMEOUT, SOCKET_TIMEOUT } from './constants.js'; | ||
import { multiaddrToNetConfig } from './utils.js'; | ||
import { CodeError } from '@libp2p/interfaces/errors'; | ||
const log = logger('libp2p:tcp:socket'); | ||
@@ -9,0 +9,0 @@ /** |
@@ -1,4 +0,4 @@ | ||
import { multiaddr } from '@multiformats/multiaddr'; | ||
import os from 'os'; | ||
import path from 'path'; | ||
import { multiaddr } from '@multiformats/multiaddr'; | ||
const ProtoFamily = { ip4: 'IPv4', ip6: 'IPv6' }; | ||
@@ -5,0 +5,0 @@ export function multiaddrToNetConfig(addr, config = {}) { |
131
package.json
{ | ||
"name": "@libp2p/tcp", | ||
"version": "7.0.2", | ||
"version": "7.0.3-3dfc236e", | ||
"description": "A TCP transport for libp2p", | ||
"license": "Apache-2.0 OR MIT", | ||
"homepage": "https://github.com/libp2p/js-libp2p-tcp#readme", | ||
"homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/transport-tcp#readme", | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/libp2p/js-libp2p-tcp.git" | ||
"url": "git+https://github.com/libp2p/js-libp2p.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/libp2p/js-libp2p-tcp/issues" | ||
"url": "https://github.com/libp2p/js-libp2p/issues" | ||
}, | ||
@@ -23,6 +23,2 @@ "keywords": [ | ||
], | ||
"engines": { | ||
"node": ">=16.0.0", | ||
"npm": ">=7.0.0" | ||
}, | ||
"type": "module", | ||
@@ -48,87 +44,2 @@ "types": "./dist/src/index.d.ts", | ||
}, | ||
"release": { | ||
"branches": [ | ||
"master" | ||
], | ||
"plugins": [ | ||
[ | ||
"@semantic-release/commit-analyzer", | ||
{ | ||
"preset": "conventionalcommits", | ||
"releaseRules": [ | ||
{ | ||
"breaking": true, | ||
"release": "major" | ||
}, | ||
{ | ||
"revert": true, | ||
"release": "patch" | ||
}, | ||
{ | ||
"type": "feat", | ||
"release": "minor" | ||
}, | ||
{ | ||
"type": "fix", | ||
"release": "patch" | ||
}, | ||
{ | ||
"type": "docs", | ||
"release": "patch" | ||
}, | ||
{ | ||
"type": "test", | ||
"release": "patch" | ||
}, | ||
{ | ||
"type": "deps", | ||
"release": "patch" | ||
}, | ||
{ | ||
"scope": "no-release", | ||
"release": false | ||
} | ||
] | ||
} | ||
], | ||
[ | ||
"@semantic-release/release-notes-generator", | ||
{ | ||
"preset": "conventionalcommits", | ||
"presetConfig": { | ||
"types": [ | ||
{ | ||
"type": "feat", | ||
"section": "Features" | ||
}, | ||
{ | ||
"type": "fix", | ||
"section": "Bug Fixes" | ||
}, | ||
{ | ||
"type": "chore", | ||
"section": "Trivial Changes" | ||
}, | ||
{ | ||
"type": "docs", | ||
"section": "Documentation" | ||
}, | ||
{ | ||
"type": "deps", | ||
"section": "Dependencies" | ||
}, | ||
{ | ||
"type": "test", | ||
"section": "Tests" | ||
} | ||
] | ||
} | ||
} | ||
], | ||
"@semantic-release/changelog", | ||
"@semantic-release/npm", | ||
"@semantic-release/github", | ||
"@semantic-release/git" | ||
] | ||
}, | ||
"scripts": { | ||
@@ -139,29 +50,31 @@ "clean": "aegir clean", | ||
"build": "aegir build", | ||
"docs": "aegir docs", | ||
"test": "aegir test -t node -t electron-main", | ||
"test:node": "aegir test -t node --cov", | ||
"test:electron-main": "aegir test -t electron-main", | ||
"release": "aegir release" | ||
"test:electron-main": "aegir test -t electron-main" | ||
}, | ||
"dependencies": { | ||
"@libp2p/interface-connection": "^5.0.0", | ||
"@libp2p/interface-metrics": "^4.0.0", | ||
"@libp2p/interface-transport": "^4.0.0", | ||
"@libp2p/interfaces": "^3.2.0", | ||
"@libp2p/logger": "^2.0.0", | ||
"@libp2p/utils": "^3.0.2", | ||
"@multiformats/mafmt": "^12.0.0", | ||
"@multiformats/multiaddr": "^12.0.0", | ||
"@libp2p/interface-connection": "5.1.1-3dfc236e", | ||
"@libp2p/interface-metrics": "4.0.8-3dfc236e", | ||
"@libp2p/interface-transport": "4.0.3-3dfc236e", | ||
"@libp2p/interfaces": "3.3.2-3dfc236e", | ||
"@libp2p/logger": "2.1.1-3dfc236e", | ||
"@libp2p/utils": "3.0.12-3dfc236e", | ||
"@multiformats/mafmt": "^12.1.2", | ||
"@multiformats/multiaddr": "^12.1.3", | ||
"@types/sinon": "^10.0.15", | ||
"stream-to-it": "^0.2.2" | ||
}, | ||
"devDependencies": { | ||
"@libp2p/interface-mocks": "^12.0.1", | ||
"@libp2p/interface-transport-compliance-tests": "^4.0.0", | ||
"aegir": "^38.1.0", | ||
"@libp2p/interface-mocks": "12.0.1-3dfc236e", | ||
"@libp2p/interface-transport-compliance-tests": "4.0.2-3dfc236e", | ||
"aegir": "^39.0.10", | ||
"it-all": "^3.0.1", | ||
"it-pipe": "^3.0.1", | ||
"p-defer": "^4.0.0", | ||
"sinon": "^15.0.0", | ||
"uint8arrays": "^4.0.2" | ||
"sinon": "^15.1.0", | ||
"uint8arrays": "^4.0.3" | ||
}, | ||
"typedoc": { | ||
"entryPoint": "./src/index.ts" | ||
} | ||
} |
@@ -5,4 +5,4 @@ # @libp2p/tcp <!-- omit in toc --> | ||
[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io) | ||
[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-tcp.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-tcp) | ||
[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p-tcp/js-test-and-release.yml?branch=master\&style=flat-square)](https://github.com/libp2p/js-libp2p-tcp/actions/workflows/js-test-and-release.yml?query=branch%3Amaster) | ||
[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p) | ||
[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster) | ||
@@ -77,3 +77,3 @@ > A TCP transport for libp2p | ||
- <https://libp2p.github.io/js-libp2p-tcp> | ||
- <https://libp2p.github.io/js-libp2p/modules/_libp2p_tcp.html> | ||
@@ -80,0 +80,0 @@ ## License |
import net from 'net' | ||
import { type CreateListenerOptions, type DialOptions, type Listener, symbol, type Transport } from '@libp2p/interface-transport' | ||
import { AbortError, CodeError } from '@libp2p/interfaces/errors' | ||
import { logger } from '@libp2p/logger' | ||
import * as mafmt from '@multiformats/mafmt' | ||
import { logger } from '@libp2p/logger' | ||
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js' | ||
import { type CloseServerOnMaxConnectionsOpts, TCPListener } from './listener.js' | ||
import { toMultiaddrConnection } from './socket-to-conn.js' | ||
import { CloseServerOnMaxConnectionsOpts, TCPListener } from './listener.js' | ||
import { multiaddrToNetConfig } from './utils.js' | ||
import { AbortError, CodeError } from '@libp2p/interfaces/errors' | ||
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js' | ||
import { CreateListenerOptions, DialOptions, Listener, symbol, Transport } from '@libp2p/interface-transport' | ||
import type { Connection } from '@libp2p/interface-connection' | ||
import type { CounterGroup, Metrics } from '@libp2p/interface-metrics' | ||
import type { AbortOptions, Multiaddr } from '@multiformats/multiaddr' | ||
import type { Socket, IpcSocketConnectOpts, TcpSocketConnectOpts } from 'net' | ||
import type { Connection } from '@libp2p/interface-connection' | ||
import type { CounterGroup, Metrics } from '@libp2p/interface-metrics' | ||
@@ -97,9 +97,5 @@ const log = logger('libp2p:tcp') | ||
get [symbol] (): true { | ||
return true | ||
} | ||
readonly [symbol] = true | ||
get [Symbol.toStringTag] (): string { | ||
return '@libp2p/tcp' | ||
} | ||
readonly [Symbol.toStringTag] = '@libp2p/tcp' | ||
@@ -153,3 +149,3 @@ async dial (ma: Multiaddr, options: TCPDialOptions): Promise<Connection> { | ||
return await new Promise<Socket>((resolve, reject) => { | ||
return new Promise<Socket>((resolve, reject) => { | ||
const start = Date.now() | ||
@@ -156,0 +152,0 @@ const cOpts = multiaddrToNetConfig(ma) as (IpcSocketConnectOpts & TcpSocketConnectOpts) |
import net from 'net' | ||
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' | ||
import { logger } from '@libp2p/logger' | ||
import { CODE_P2P } from './constants.js' | ||
import { toMultiaddrConnection } from './socket-to-conn.js' | ||
import { CODE_P2P } from './constants.js' | ||
import { | ||
getMultiaddrs, | ||
multiaddrToNetConfig, | ||
NetConfig | ||
type NetConfig | ||
} from './utils.js' | ||
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' | ||
import type { TCPCreateListenerOptions } from './index.js' | ||
import type { MultiaddrConnection, Connection } from '@libp2p/interface-connection' | ||
import type { CounterGroup, MetricGroup, Metrics } from '@libp2p/interface-metrics' | ||
import type { Upgrader, Listener, ListenerEvents } from '@libp2p/interface-transport' | ||
import type { Multiaddr } from '@multiformats/multiaddr' | ||
import type { TCPCreateListenerOptions } from './index.js' | ||
import type { CounterGroup, MetricGroup, Metrics } from '@libp2p/interface-metrics' | ||
@@ -17,0 +17,0 @@ const log = logger('libp2p:tcp:listener') |
@@ -0,12 +1,12 @@ | ||
import { CodeError } from '@libp2p/interfaces/errors' | ||
import { logger } from '@libp2p/logger' | ||
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr' | ||
// @ts-expect-error no types | ||
import toIterable from 'stream-to-it' | ||
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr' | ||
import { CLOSE_TIMEOUT, SOCKET_TIMEOUT } from './constants.js' | ||
import { multiaddrToNetConfig } from './utils.js' | ||
import { CodeError } from '@libp2p/interfaces/errors' | ||
import type { Socket } from 'net' | ||
import type { Multiaddr } from '@multiformats/multiaddr' | ||
import type { MultiaddrConnection } from '@libp2p/interface-connection' | ||
import type { CounterGroup } from '@libp2p/interface-metrics' | ||
import type { Multiaddr } from '@multiformats/multiaddr' | ||
import type { Socket } from 'net' | ||
@@ -13,0 +13,0 @@ const log = logger('libp2p:tcp:socket') |
@@ -0,6 +1,6 @@ | ||
import os from 'os' | ||
import path from 'path' | ||
import { multiaddr } from '@multiformats/multiaddr' | ||
import type { Multiaddr } from '@multiformats/multiaddr' | ||
import type { ListenOptions, IpcSocketConnectOpts, TcpSocketConnectOpts } from 'net' | ||
import os from 'os' | ||
import path from 'path' | ||
@@ -7,0 +7,0 @@ const ProtoFamily = { ip4: 'IPv4', ip6: 'IPv6' } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
184964
10
29
1806
2
+ Added@types/sinon@^10.0.15
+ Added@libp2p/interface-connection@5.1.1-3dfc236e(transitive)
+ Added@libp2p/interface-metrics@4.0.8-3dfc236e(transitive)
+ Added@libp2p/interface-peer-id@2.0.2-3dfc236e(transitive)
+ Added@libp2p/interface-peer-store@2.0.4-3dfc236e(transitive)
+ Added@libp2p/interface-stream-muxer@4.1.2-3dfc236e(transitive)
+ Added@libp2p/interface-transport@4.0.3-3dfc236e(transitive)
+ Added@libp2p/interfaces@3.3.2-3dfc236e(transitive)
+ Added@libp2p/logger@2.1.1-3dfc236e(transitive)
+ Added@libp2p/utils@3.0.12-3dfc236e(transitive)
+ Added@types/sinon@10.0.20(transitive)
+ Added@types/sinonjs__fake-timers@8.1.5(transitive)
- Removed@libp2p/interface-connection@5.1.1(transitive)
- Removed@libp2p/interface-metrics@4.0.8(transitive)
- Removed@libp2p/interface-peer-id@2.0.2(transitive)
- Removed@libp2p/interface-peer-store@2.0.4(transitive)
- Removed@libp2p/interface-stream-muxer@4.1.2(transitive)
- Removed@libp2p/interface-transport@4.0.3(transitive)
- Removed@libp2p/interfaces@3.3.2(transitive)
- Removed@libp2p/logger@2.1.1(transitive)
- Removed@libp2p/utils@3.0.13(transitive)
Updated@multiformats/mafmt@^12.1.2