chore: add listener options

This commit is contained in:
Vasco Santos 2020-12-04 10:22:30 +01:00
parent 0b4b09ffee
commit e73646c893

View File

@ -3,18 +3,14 @@ import Multiaddr from 'multiaddr'
import Connection from '../connection/connection' import Connection from '../connection/connection'
import { Sink } from '../stream-muxer/types' import { Sink } from '../stream-muxer/types'
export type DialOptions = { export interface TransportFactory<DialOptions extends { signal?: AbortSignal }, ListenerOptions> {
signal?: AbortSignal new(upgrader: Upgrader): Transport<DialOptions, ListenerOptions>;
}
export interface TransportFactory<DialOptions extends { signal?: AbortSignal }> {
new(upgrader: Upgrader): Transport<DialOptions>;
} }
/** /**
* A libp2p transport is understood as something that offers a dial and listen interface to establish connections. * A libp2p transport is understood as something that offers a dial and listen interface to establish connections.
*/ */
export interface Transport <DialOptions extends { signal?: AbortSignal }> { export interface Transport <DialOptions extends { signal?: AbortSignal }, ListenerOptions> {
/** /**
* Dial a given multiaddr. * Dial a given multiaddr.
*/ */
@ -22,7 +18,7 @@ export interface Transport <DialOptions extends { signal?: AbortSignal }> {
/** /**
* Create transport listeners. * Create transport listeners.
*/ */
createListener(options: unknown, handler?: (connection: Connection) => void): Listener; createListener(options: ListenerOptions, handler?: (connection: Connection) => void): Listener;
/** /**
* Takes a list of `Multiaddr`s and returns only valid addresses for the transport * Takes a list of `Multiaddr`s and returns only valid addresses for the transport
*/ */