Skip to main content

Class: ChunkPipeline

Constructors

constructor

new ChunkPipeline(): ChunkPipeline

Returns

ChunkPipeline

Properties

sentStampAttempts

sentStampAttempts: number = 0

How many send stamps were offered, and how many landed on a waiting request.


sentStampHits

sentStampHits: number = 0

Accessors

loadedCount

get loadedCount(): number

Returns

number


processingCount

get processingCount(): number

Returns

number


requestedCount

get requestedCount(): number

Returns

number


totalCount

get totalCount(): number

Returns

number

Methods

forEach

forEach(stage, callback): void

Parameters

NameType
stage"requested" | "processing" | "loaded"
callback(name: string) => void

Returns

void


forEachLoaded

forEachLoaded(callback): void

Parameters

NameType
callback(chunk: Chunk, name: string) => void

Returns

void


getInStage

getInStage(stage): Set<string>

Parameters

NameType
stage"requested" | "processing" | "loaded"

Returns

Set<string>


getLoadedChunk

getLoadedChunk(name): Chunk

Parameters

NameType
namestring

Returns

Chunk


getProcessingData

getProcessingData(name): Object

Parameters

NameType
namestring

Returns

Object

NameType
dataChunkProtocol
source"load" | "update"

getStage

getStage(name): "requested" | "processing" | "loaded"

Parameters

NameType
namestring

Returns

"requested" | "processing" | "loaded"


getTiming

getTiming(name): ChunkLoadTiming

Parameters

NameType
namestring

Returns

ChunkLoadTiming


isInStage

isInStage(name, stage): boolean

Parameters

NameType
namestring
stage"requested" | "processing" | "loaded"

Returns

boolean


isRequestStale

isRequestStale(name, staleAfterMs): boolean

Whether a request has gone unanswered long enough to be presumed lost. Measured in elapsed time rather than in world updates, so a chunk asks again on schedule however slowly the client happens to be running.

Parameters

NameType
namestring
staleAfterMsnumber

Returns

boolean


markLoaded

markLoaded(coords, chunk): void

Parameters

NameType
coordsCoords2
chunkChunk

Returns

void


markProcessing

markProcessing(coords, source, data, arrivedAt?): void

Parameters

NameTypeDefault value
coordsCoords2undefined
source"load" | "update"undefined
dataChunkProtocolundefined
arrivedAtnumbernull

Returns

void


markRequested

markRequested(coords): void

Parameters

NameType
coordsCoords2

Returns

void


markSent

markSent(coords, sentAt): void

The queued LOAD for this chunk reached the socket at sentAt.

Parameters

NameType
coordsCoords2
sentAtnumber

Returns

void


readRecentRoundTrips

readRecentRoundTrips(): readonly ChunkRoundTrip[]

The last few chunk round trips this client completed: wire is socket send to raw arrival (server + transport + the main thread getting to the socket event), load is arrival to data applied. Lets a slow join window be compared against the same path during play, when the main thread is idle.

Returns

readonly ChunkRoundTrip[]


remove

remove(name): Chunk

Parameters

NameType
namestring

Returns

Chunk


resyncForRejoin

resyncForRejoin(): string[]

Returns

string[]