Nebula
Protocol

PortalLinkRecord

One party's link through a portal, as the network gateway and a client learn it (MsgId.PortalLinks).

generated from the sources
public struct PortalLinkRecord

One party's link through a portal, as the network gateway and a client learn it (MsgId.PortalLinks). Toward the network gateway it carries the members and the observers; toward a client both lists are empty and Flags says whether this client is a member and whether it is an observer.

Fields

LinkId

public ulong LinkId;

PortalId

public ulong PortalId;

PartyHash

public ulong PartyHash;

The party as PortalIds.PartyHash.

FarScope

public ulong FarScope;

The far scope's id and the container a crossing enters (the far window of this version, docs/portals.md D10).

FarEntryId

public string FarEntryId;

FarEntry

public ContainerRef FarEntry;

State

public PortalState State;

Wait

public PortalWait Wait;

WaitClient

public ulong WaitClient;

The member client the link waits for, when Wait is PortalWait.ClientWarming; else 0.

Progress

public byte Progress;

How ready the link is, 0 (nothing) to 255 (everything); PortalLink.Progress is this over 255.

Generation

public uint Generation;

Counts the link's openings, so a client's MsgId.PortalWarm for an earlier opening is recognised as stale.

Flags

public PortalLinkFlags Flags;

FarRowIds

public List<string> FarRowIds;

The containers of the far scope the far window touches that a member must hold and prepare before the link opens, the entry first (docs/portals.md D10, D16), by id (how the network gateway pins their rows) and by reference (how a client resolves them). Empty before the far scope's rows are known.

FarRows

public List<ContainerRef> FarRows;

Members

public List<ulong> Members;

Toward the network gateway only: the clients that must be warm.

Observers

public List<ulong> Observers;

Toward the network gateway only: the clients that may look through (empty with PortalLinkFlags.ObserverAnyone).

Properties

IsObserver

public bool IsObserver { get; }

Whether a client with these flags may look through the link.

On this page