2024-12-18 14:53:06 +01:00

15 lines
441 B
Nim

import ../basics
import ./address
type NetworkConnection* = distinct StreamTransport
proc connect*(
_: type NetworkConnection,
address: NetworkAddress
): Future[?!NetworkConnection] {.async:(raises:[]).} =
NetworkConnection(await TransportAddress(address).connect()).catch()
proc close*(connection: NetworkConnection) {.async:(raises:[]).} =
StreamTransport(connection).close()
await noCancel StreamTransport(connection).join()