swarmsim/swarmsim/engine/protocol.nim
2023-08-24 13:31:46 -03:00

20 lines
513 B
Nim

import ./types
import ./eventdrivenengine
export eventdrivenengine
export Protocol
export Message
method uncheckedDeliver(
self: Protocol,
message: Message,
engine: EventDrivenEngine,
network: Network
): void {.base.} =
raise newException(CatchableError, "Method without implementation override")
proc deliver*(self: Protocol, message: Message, engine: EventDrivenEngine,
network: Network): void =
assert(self.protocolId == message.protocolId)
self.uncheckedDeliver(message, engine, network)