syndicate-nim/src/syndicate/protocols/simpleChatProtocol.nim

18 lines
333 B
Nim
Raw Normal View History

import
std/typetraits, preserves
type
2021-09-24 19:25:47 +00:00
Says* {.preservesRecord: "Says".} = object
`who`*: string
`what`*: string
2021-09-24 19:25:47 +00:00
Present* {.preservesRecord: "Present".} = object
`username`*: string
2021-09-24 19:25:47 +00:00
proc `$`*(x: Says | Present): string =
`$`(toPreserve(x))
2021-09-24 19:25:47 +00:00
proc encode*(x: Says | Present): seq[byte] =
encode(toPreserve(x))