Ordered atomic receiver with duplicate suppression and bounded out-of-order buffering. 更多...
#include <PixelWorldTransport.h>
Public 成员函数 | |
| ReliablePixelChunkReceiver (const ReliablePixelChunkReceiver &)=delete | |
| ReliablePixelChunkReceiver & | operator= (const ReliablePixelChunkReceiver &)=delete |
| ReliablePixelChunkReceiver (ReliablePixelChunkReceiver &&)=default | |
| Reliable pixel chunk receiver. | |
| ReliablePixelChunkReceiver & | operator= (ReliablePixelChunkReceiver &&)=default |
| Operator =. | |
| eve::Result< PixelChunkReceiveReceipt > | receive (PixelChunkTransferPart part, eve::pixelworld::PixelWorld &replica) |
| Buffer one part and atomically apply every newly contiguous complete transfer. | |
| std::uint64_t | acknowledgedThrough () const noexcept |
| Last cumulatively applied transfer id. | |
| std::size_t | bufferedPartCount () const noexcept |
| Count parts retained while waiting for gaps or completion. | |
静态 Public 成员函数 | |
| static eve::Result< ReliablePixelChunkReceiver > | create (std::uint64_t streamId, PixelChunkTransportConfig config={}) |
| Validate policy and create a receiver for one nonzero stream session. | |
详细描述
Ordered atomic receiver with duplicate suppression and bounded out-of-order buffering.
Parts never mutate PixelWorld individually. A complete next transfer is canonicalized and committed through applyChunkBatch; only then does the cumulative ACK advance. Failure leaves both replica and expected transfer id unchanged.
在文件 PixelWorldTransport.h 第 106 行定义.
构造及析构函数说明
◆ ReliablePixelChunkReceiver() [1/2]
|
delete |
◆ ReliablePixelChunkReceiver() [2/2]
|
default |
Reliable pixel chunk receiver.
成员函数说明
◆ acknowledgedThrough()
|
inlinenoexcept |
Last cumulatively applied transfer id.
在文件 PixelWorldTransport.h 第 125 行定义.
◆ bufferedPartCount()
|
noexcept |
Count parts retained while waiting for gaps or completion.
在文件 PixelWorldTransport.cpp 第 247 行定义.
被这些函数引用 receive().
◆ create()
|
static |
Validate policy and create a receiver for one nonzero stream session.
在文件 PixelWorldTransport.cpp 第 164 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success() , 以及 valid.
◆ operator=() [1/2]
|
delete |
◆ operator=() [2/2]
|
default |
Operator =.
◆ receive()
| eve::Result< PixelChunkReceiveReceipt > eve::pixelworld_streaming::ReliablePixelChunkReceiver::receive | ( | PixelChunkTransferPart | part, |
| eve::pixelworld::PixelWorld & | replica | ||
| ) |
Buffer one part and atomically apply every newly contiguous complete transfer.
在文件 PixelWorldTransport.cpp 第 174 行定义.
引用了 eve::pixelworld_streaming::PixelChunkReceiveReceipt::ack, eve::pixelworld::PixelWorld::applyChunkBatch(), eve::pixelworld_streaming::PixelChunkTransferPart::batch, bufferedPartCount(), eve::pixelworld::PixelChunkBatch::chunks, eve::Conflict, eve::pixelworld_streaming::PixelChunkReceiveReceipt::duplicate, eve::Diagnostic::error(), eve::Result< T >::failure(), first, found, eve::InvalidArgument, eve::pixelworld_streaming::PixelChunkTransportConfig::maximumBufferedTransfers, eve::pixelworld_streaming::PixelChunkTransportConfig::maximumChunksPerPart, eve::pixelworld_streaming::PixelChunkTransportConfig::maximumPartsPerTransfer, eve::pixelworld_streaming::PixelChunkTransferPart::partCount, eve::pixelworld_streaming::PixelChunkTransferPart::partIndex, eve::pixelworld_streaming::PixelChunkReceiveReceipt::partsBuffered, eve::PreconditionViolation, eve::pixelworld::PixelWorld::revision(), eve::pixelworld_streaming::PixelChunkTransferPart::streamId, eve::Result< T >::success(), eve::pixelworld_streaming::PixelChunkTransferPart::transferId, eve::pixelworld_streaming::PixelChunkReceiveReceipt::transfersApplied , 以及 value.
该类的文档由以下文件生成:
- src/modules/pixelworld/streaming/PixelWorldTransport.h
- src/modules/pixelworld/streaming/PixelWorldTransport.cpp