Class: ChunkPipeline
Constructors
constructor
• new ChunkPipeline(): ChunkPipeline
Returns
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
| Name | Type |
|---|---|
stage | "requested" | "processing" | "loaded" |
callback | (name: string) => void |
Returns
void
forEachLoaded
▸ forEachLoaded(callback): void
Parameters
| Name | Type |
|---|---|
callback | (chunk: Chunk, name: string) => void |
Returns
void
getInStage
▸ getInStage(stage): Set<string>
Parameters
| Name | Type |
|---|---|
stage | "requested" | "processing" | "loaded" |
Returns
Set<string>
getLoadedChunk
▸ getLoadedChunk(name): Chunk
Parameters
| Name | Type |
|---|---|
name | string |
Returns
getProcessingData
▸ getProcessingData(name): Object
Parameters
| Name | Type |
|---|---|
name | string |
Returns
Object
| Name | Type |
|---|---|
data | ChunkProtocol |
source | "load" | "update" |
getStage
▸ getStage(name): "requested" | "processing" | "loaded"
Parameters
| Name | Type |
|---|---|
name | string |
Returns
"requested" | "processing" | "loaded"
getTiming
▸ getTiming(name): ChunkLoadTiming
Parameters
| Name | Type |
|---|---|
name | string |
Returns
isInStage
▸ isInStage(name, stage): boolean
Parameters
| Name | Type |
|---|---|
name | string |
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
| Name | Type |
|---|---|
name | string |
staleAfterMs | number |
Returns
boolean
markLoaded
▸ markLoaded(coords, chunk): void
Parameters
| Name | Type |
|---|---|
coords | Coords2 |
chunk | Chunk |
Returns
void
markProcessing
▸ markProcessing(coords, source, data, arrivedAt?): void
Parameters
| Name | Type | Default value |
|---|---|---|
coords | Coords2 | undefined |
source | "load" | "update" | undefined |
data | ChunkProtocol | undefined |
arrivedAt | number | null |
Returns
void
markRequested
▸ markRequested(coords): void
Parameters
| Name | Type |
|---|---|
coords | Coords2 |
Returns
void
markSent
▸ markSent(coords, sentAt): void
The queued LOAD for this chunk reached the socket at sentAt.
Parameters
| Name | Type |
|---|---|
coords | Coords2 |
sentAt | number |
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
| Name | Type |
|---|---|
name | string |
Returns
resyncForRejoin
▸ resyncForRejoin(): string[]
Returns
string[]