# Nim-LibP2P # Copyright (c) 2022 Status Research & Development GmbH # Licensed under either of # * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE)) # * MIT license ([LICENSE-MIT](LICENSE-MIT)) # at your option. # This file may not be copied, modified, or distributed except according to # those terms. {.push raises: [Defect].} import chronos import peerid, stream/connection, transports/transport type Dial* = ref object of RootObj method connect*( self: Dial, peerId: PeerId, addrs: seq[MultiAddress], forceDial = false) {.async, base.} = ## connect remote peer without negotiating ## a protocol ## doAssert(false, "Not implemented!") method dial*( self: Dial, peerId: PeerId, protos: seq[string], ): Future[Connection] {.async, base.} = ## create a protocol stream over an ## existing connection ## doAssert(false, "Not implemented!") method dial*( self: Dial, peerId: PeerId, addrs: seq[MultiAddress], protos: seq[string], forceDial = false): Future[Connection] {.async, base.} = ## create a protocol stream and establish ## a connection if one doesn't exist already ## doAssert(false, "Not implemented!") method addTransport*( self: Dial, transport: Transport) {.base.} = doAssert(false, "Not implemented!")