Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrainCore module · struct

Native::

FJoinStreamConfig

Experimental

What the server knows of a joiner when its join starts (its hello).

Declaration

struct FJoinStreamConfig
Header
#include "Native/Net/NetJoin.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrainCore"); in your module’s Build.cs.
Stability
Experimental: supported, may change in a minor version, with a changelog line.

Properties

NameTypeDefaultMeaning
PageTilesint32_t4

The joiner's FSculptPagingConfig::PageTiles, 1..255: codes go a whole joiner page at a time, so each page-in needs one page's bytes. Sent in the head.

InterestFWorldXY—

Where the joiner looks, world metres (as FStreamingSource::Position): its pages go nearest first.

MaxHeadBytesuint32_tkJoinMaxHeadBytes

The largest head this writer sends; above kJoinMaxHeadBytes it acts as that, since no reader takes more.

MakeSaveStorestd::function<std::unique_ptr<IJoinSaveStore>()>—

Makes the store Prepare writes the save into, called once on Prepare's thread; null from it refuses the join (SaveFailed).

Empty: the save stays in memory (Tier 1 tests).

ReadAheadBytesuint32_t256u * 1024u

Stream bytes Produce frames ahead of Read; a Produce always makes at least one frame.

Masksstd::vector<std::shared_ptr<const FBrushMask>>—

The brush masks to send: those the joiner may meet in the records after S and does not hold.

The writer sends each once, ascending hash (null entries and repeats dropped), and refuses the join when they hold more than kJoinMaxMaskBytes of canonical bytes (MasksTooLarge). Empty: no mask frames.

LimitsFSculptLimits—

The authority's sculpt limits, sent in the head (FJoinHead::Limits): the joiner's replica applies records under them.

JoinerSaveHashuint64_t0

The FileHash of the save the joiner kept from an earlier join (FJoinCache::FileHash); 0 when it holds none.

Never trusted: the joiner checks whatever it takes from that save against this stream's head and index, and the server only leaves out what the joiner says it holds.