2021-10-06 09:30:38 +00:00
|
|
|
|
|
|
|
import
|
2023-05-18 10:20:44 +00:00
|
|
|
preserves
|
2021-10-06 09:30:38 +00:00
|
|
|
|
|
|
|
type
|
2021-09-24 19:25:47 +00:00
|
|
|
TcpLocal* {.preservesRecord: "tcp-local".} = object
|
2021-10-06 09:30:38 +00:00
|
|
|
`host`*: string
|
2022-07-08 12:49:24 +00:00
|
|
|
`port`*: BiggestInt
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2022-12-08 08:15:01 +00:00
|
|
|
TcpPeerInfo*[Cap] {.preservesRecord: "tcp-peer".} = object
|
|
|
|
`handle`*: Cap
|
2021-10-06 09:30:38 +00:00
|
|
|
`local`*: TcpLocal
|
|
|
|
`remote`*: TcpRemote
|
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
TcpRemote* {.preservesRecord: "tcp-remote".} = object
|
|
|
|
`host`*: string
|
2022-07-08 12:49:24 +00:00
|
|
|
`port`*: BiggestInt
|
2021-09-24 19:25:47 +00:00
|
|
|
|
2022-12-08 08:15:01 +00:00
|
|
|
proc `$`*[Cap](x: TcpPeerInfo[Cap]): string =
|
|
|
|
`$`(toPreserve(x, Cap))
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2022-12-08 08:15:01 +00:00
|
|
|
proc encode*[Cap](x: TcpPeerInfo[Cap]): seq[byte] =
|
|
|
|
encode(toPreserve(x, Cap))
|
2021-09-24 19:25:47 +00:00
|
|
|
|
|
|
|
proc `$`*(x: TcpLocal | TcpRemote): string =
|
|
|
|
`$`(toPreserve(x))
|
|
|
|
|
|
|
|
proc encode*(x: TcpLocal | TcpRemote): seq[byte] =
|
|
|
|
encode(toPreserve(x))
|