src/necsus/runtime/necsusConf

Types

NecsusConf = ref object
  entitySize*: int
  componentSize*: int
  inboxSize*: int
  getTime*: proc (): BiggestFloat {....gcsafe.}
  log*: NecsusLogger
  eagerAlloc*: bool
Used to configure
NecsusLogger = proc (message: string): void {....gcsafe, raises: [].}

Procs

proc newNecsusConf(entitySize: int = DEFAULT_ENTITY_COUNT;
                   componentSize: int = ceilDiv(entitySize, 3);
                   inboxSize: int = max(entitySize div 20, 20);
                   eagerAlloc: bool = false): NecsusConf {....raises: [], tags: [],
    forbids: [].}
Create a necsus configuration
proc newNecsusConf(getTime: proc (): BiggestFloat {....gcsafe.}; log: NecsusLogger;
                   eagerAlloc: bool = false): NecsusConf {....raises: [], tags: [],
    forbids: [].}
Create a necsus configuration
proc newNecsusConf(getTime: proc (): BiggestFloat {....gcsafe.}; log: NecsusLogger;
                   entitySize: int; componentSize: int; inboxSize: int;
                   eagerAlloc: bool = false): NecsusConf {....raises: [], tags: [],
    forbids: [].}
Create a necsus configuration