mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-10 05:57:51 +00:00
MemoryTransferService: Separate functions to serialize and get serialization size
Bug: dawn:156 Change-Id: I19317954c64700bdd67aa414d8eb2422d2c3544d Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9860 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
42e1bba480
commit
a9658d967a
@@ -76,9 +76,11 @@ namespace dawn_wire {
|
||||
|
||||
class DAWN_WIRE_EXPORT ReadHandle {
|
||||
public:
|
||||
// Get the required serialization size for SerializeCreate
|
||||
virtual size_t SerializeCreateSize() = 0;
|
||||
|
||||
// Serialize the handle into |serializePointer| so it can be received by the server.
|
||||
// If |serializePointer| is nullptr, this returns the required serialization space.
|
||||
virtual size_t SerializeCreate(void* serializePointer = nullptr) = 0;
|
||||
virtual void SerializeCreate(void* serializePointer) = 0;
|
||||
|
||||
// Load initial data and open the handle for reading.
|
||||
// This function takes in the serialized result of
|
||||
@@ -95,19 +97,24 @@ namespace dawn_wire {
|
||||
|
||||
class DAWN_WIRE_EXPORT WriteHandle {
|
||||
public:
|
||||
// Get the required serialization size for SerializeCreate
|
||||
virtual size_t SerializeCreateSize() = 0;
|
||||
|
||||
// Serialize the handle into |serializePointer| so it can be received by the server.
|
||||
// If |serializePointer| is nullptr, this returns the required serialization space.
|
||||
virtual size_t SerializeCreate(void* serializePointer = nullptr) = 0;
|
||||
virtual void SerializeCreate(void* serializePointer) = 0;
|
||||
|
||||
// Open the handle for reading. The data returned should be zero-initialized.
|
||||
// The data returned must live at least until the WriteHandle is destructed.
|
||||
// On failure, the pointer returned should be null.
|
||||
virtual std::pair<void*, size_t> Open() = 0;
|
||||
|
||||
// Get the required serialization size for SerializeFlush
|
||||
virtual size_t SerializeFlushSize() = 0;
|
||||
|
||||
// Flush writes to the handle. This should serialize info to send updates to the
|
||||
// server.
|
||||
// If |serializePointer| is nullptr, this returns the required serialization space.
|
||||
virtual size_t SerializeFlush(void* serializePointer = nullptr) = 0;
|
||||
virtual void SerializeFlush(void* serializePointer) = 0;
|
||||
|
||||
virtual ~WriteHandle();
|
||||
};
|
||||
};
|
||||
|
||||
@@ -65,12 +65,14 @@ namespace dawn_wire {
|
||||
|
||||
class DAWN_WIRE_EXPORT ReadHandle {
|
||||
public:
|
||||
// Get the required serialization size for SerializeInitialData
|
||||
virtual size_t SerializeInitialDataSize(const void* data, size_t dataLength) = 0;
|
||||
|
||||
// Initialize the handle data.
|
||||
// Serialize into |serializePointer| so the client can update handle data.
|
||||
// If |serializePointer| is nullptr, this returns the required serialization space.
|
||||
virtual size_t SerializeInitialData(const void* data,
|
||||
size_t dataLength,
|
||||
void* serializePointer = nullptr) = 0;
|
||||
virtual void SerializeInitialData(const void* data,
|
||||
size_t dataLength,
|
||||
void* serializePointer) = 0;
|
||||
virtual ~ReadHandle();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user