载入中...
搜索中...
未找到
PixelWorldTransport.cpp
浏览该文件的文档.
38 eve::Diagnostic::error(eve::DiagnosticCode::InvalidArgument, "stream id or transport policy is invalid",
48 eve::Diagnostic::error(eve::DiagnosticCode::PreconditionViolation, "reliable send window is full",
52 eve::Diagnostic::error(eve::DiagnosticCode::PreconditionViolation, "transfer id space is exhausted",
70 eve::Diagnostic::error(eve::DiagnosticCode::PreconditionViolation, "captured update exceeds part budget",
115 eve::Diagnostic::error(eve::DiagnosticCode::Conflict, "ACK belongs to another stream", "streamId", {},
128 eve::Diagnostic::error(eve::DiagnosticCode::Conflict, "ACK revision does not match the transfer",
145std::size_t ReliablePixelChunkSender::inFlightTransferCount() const noexcept {
149std::size_t ReliablePixelChunkSender::retainedTombstoneCount() const noexcept {
168 eve::Diagnostic::error(eve::DiagnosticCode::InvalidArgument, "stream id or transport policy is invalid",
180 eve::Diagnostic::error(eve::DiagnosticCode::InvalidArgument, "transfer part metadata exceeds policy",
203 eve::Diagnostic::error(eve::DiagnosticCode::Conflict, "transfer part count changed", "partCount", {},
209 eve::Diagnostic::error(eve::DiagnosticCode::Conflict, "duplicate part payload conflicts", "part", {},
228 eve::DiagnosticCode::Conflict, "transfer parts disagree on authority metadata", "part.batch", {},
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Sparse, chunked, deterministic 2D falling-material world.
Definition PixelWorld.h:224
eve::Result< PixelChunkApplyReceipt > applyChunkBatch(const PixelChunkBatch &batch, std::uint64_t expectedRevision)
Transactionally apply a canonical authoritative Chunk correction batch.
Definition PixelWorld.cpp:1440
Ordered atomic receiver with duplicate suppression and bounded out-of-order buffering.
Definition PixelWorldTransport.h:106
eve::Result< PixelChunkReceiveReceipt > receive(PixelChunkTransferPart part, eve::pixelworld::PixelWorld &replica)
Buffer one part and atomically apply every newly contiguous complete transfer.
Definition PixelWorldTransport.cpp:174
std::size_t bufferedPartCount() const noexcept
Count parts retained while waiting for gaps or completion.
Definition PixelWorldTransport.cpp:247
static eve::Result< ReliablePixelChunkReceiver > create(std::uint64_t streamId, PixelChunkTransportConfig config={})
Validate policy and create a receiver for one nonzero stream session.
Definition PixelWorldTransport.cpp:164
Reliable sender retaining owning transfer parts and tombstones until application ACK.
Definition PixelWorldTransport.h:66
@ InvalidArgument
@ PreconditionViolation
@ Conflict
Owning authoritative Chunk correction with source world metadata.
Definition PixelWorld.h:89
std::uint64_t sourceRevision
Definition PixelWorld.h:92
bool fullResync
Replace the replica projection instead of applying an incremental correction.
Definition PixelWorld.h:96
std::vector< PixelChunkSnapshot > chunks
Definition PixelWorld.h:97
std::uint64_t catalogFingerprint
Definition PixelWorld.h:90
eve::SimulationTick sourceTick
Definition PixelWorld.h:93
std::uint64_t sourceLastEditSequence
Definition PixelWorld.h:94
Inclusive finite rectangle expressed in Chunk coordinates.
Definition PixelWorld.h:104
Counters returned after accepting a cumulative ACK.
Definition PixelWorldTransport.h:45
std::uint64_t acknowledgedThrough
Definition PixelWorldTransport.h:48
std::uint32_t tombstonesReleased
Definition PixelWorldTransport.h:47
std::uint32_t transfersReleased
Definition PixelWorldTransport.h:46
Receiver outcome after one possibly duplicate or out-of-order part.
Definition PixelWorldTransport.h:52
std::uint32_t transfersApplied
Definition PixelWorldTransport.h:54
bool duplicate
Definition PixelWorldTransport.h:56
PixelChunkTransferAck ack
Definition PixelWorldTransport.h:53
std::uint32_t partsBuffered
Definition PixelWorldTransport.h:55
Cumulative application ACK proving transfers were committed to replica authority.
Definition PixelWorldTransport.h:38
std::uint64_t acknowledgedThrough
Definition PixelWorldTransport.h:40
std::uint64_t streamId
Definition PixelWorldTransport.h:39
std::uint64_t appliedRevision
Definition PixelWorldTransport.h:41
One independently retransmittable part of an atomic Chunk transfer.
Definition PixelWorldTransport.h:25
std::uint64_t transferId
Definition PixelWorldTransport.h:27
eve::pixelworld::PixelChunkRegion interest
Definition PixelWorldTransport.h:30
std::uint32_t partIndex
Definition PixelWorldTransport.h:28
eve::pixelworld::PixelChunkBatch batch
Definition PixelWorldTransport.h:31
std::uint64_t streamId
Definition PixelWorldTransport.h:26
std::uint32_t partCount
Definition PixelWorldTransport.h:29
Bounded application-level reliability policy layered over any byte transport.
Definition PixelWorldTransport.h:17
std::uint32_t maximumPartsPerTransfer
Definition PixelWorldTransport.h:20
std::uint32_t maximumChunksPerPart
Definition PixelWorldTransport.h:19
std::uint32_t maximumBufferedTransfers
Definition PixelWorldTransport.h:21