Class CommandDeclaration
What a CommandBuilder<T> declared.
public sealed class CommandDeclaration
- Inheritance
-
CommandDeclaration
- Inherited Members
Properties
AllowedRoles
The roles allowed to send it. Empty means every role.
public IReadOnlyList<SessionRole> AllowedRoles { get; }
Property Value
Coalesce
How arrivals are delivered into a tick.
public CommandCoalesce Coalesce { get; }
Property Value
CommandType
The command's CLR type.
public Type CommandType { get; }
Property Value
Fields
Every field that travels: the ones the declaration gave a codec, in declaration order, then the rest of the struct's public instance fields under the codec their CLR type defaults to, ordinally by name.
public IReadOnlyList<ProjectedField> Fields { get; }
Property Value
Remarks
Order here is declaration order, not wire order. Wire order is the layout key of 03-wire-protocol § 12 W11 and is assigned once, by Canonicalize(Catalog), for archetypes, events and commands alike — so this list is free to stay readable and nothing sorts twice.
Exceptions
- InvalidOperationException
A field's CLR type has no default codec — a long, a ulong, a double or a type the wire cannot imply — and the declaration neither gave it one nor ignored it.
HasPrecheck
Whether a syntactic pre-check was attached.
public bool HasPrecheck { get; }
Property Value
IgnoredFields
The struct fields the declaration deliberately kept off the wire, in no particular order.
public IReadOnlyCollection<string> IgnoredFields { get; }
Property Value
Index
The order this command was declared in. Not the wire index, which is assigned when the catalog is built.
public int Index { get; }
Property Value
Name
The name it travels under.
public string Name { get; }
Property Value
RateBurst
The per-session burst depth; 0 when the declaration left it to the engine.
public int RateBurst { get; }
Property Value
RatePerSecond
The sustained per-session rate; 0 when the declaration left it to the engine.
public int RatePerSecond { get; }
Property Value
Methods
ToString()
public override string ToString()