syndicate-nim/src/syndicate/protocols/transportAddress.nim

23 lines
469 B
Nim
Raw Normal View History

import
std/typetraits, preserves
type
2021-09-24 19:25:47 +00:00
WebSocket* {.preservesRecord: "ws".} = object
`url`*: string
2021-09-24 19:25:47 +00:00
Stdio* {.preservesRecord: "stdio".} = object
Unix* {.preservesRecord: "unix".} = object
`path`*: string
2021-09-24 19:25:47 +00:00
Tcp* {.preservesRecord: "tcp".} = object
`host`*: string
2021-11-03 18:21:52 +00:00
`port`*: int
2021-09-24 19:25:47 +00:00
proc `$`*(x: WebSocket | Stdio | Unix | Tcp): string =
`$`(toPreserve(x))
2021-09-24 19:25:47 +00:00
proc encode*(x: WebSocket | Stdio | Unix | Tcp): seq[byte] =
encode(toPreserve(x))