Table of Contents

Class CatalogField

Namespace
Typhon.Protocol
Assembly
Typhon.Protocol.dll

One replicated field: its wire name, its codec, and either the change group it belongs to or the fact that it travels on enter only.

public sealed class CatalogField
Inheritance
CatalogField
Inherited Members

Remarks

The name is the one the projection declared, never a CLR member name — renaming a C# field must not be a wire break. No storage offset appears here: a client decodes a byte stream, and the server's memory layout is meaningless to it.

Constructors

CatalogField()

public CatalogField()

Properties

Codec

How the value is encoded.

public CatalogCodec Codec { get; init; }

Property Value

CatalogCodec

Enum

The enum table naming this field's values; allowed on bits, u8, u16 and varu (W13).

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string Enum { get; init; }

Property Value

string

Group

The change group this field belongs to; a session receives only the groups that changed. Exactly one of this and OnEnter is set on an archetype field; neither is set on an event or command field.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string Group { get; init; }

Property Value

string

Name

The declared wire name, unique within its archetype, event or command.

public string Name { get; init; }

Property Value

string

OnEnter

The field travels in enter records only and never changes while the entity is in view (W15).

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public bool OnEnter { get; init; }

Property Value

bool

Smoothing

How a client should present this field between updates, for example snap. Absent means the client decides.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string Smoothing { get; init; }

Property Value

string