1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:38:11 +00:00

ProtocolServer: Send the download payload to clients as a shared buffer

The DownloadFinished message from the server now includes a buffer ID
that can be mapped into the client program.

To avoid prematurely destroying the buffer, the server will hang on to
it until the client lets it know that they're all good. That's what the
ProtocolServer::DisownSharedBuffer message is about.

In the future it would be nice if the kernel had a mechanism to allow
passing ownership of a shared buffer along with an IPC message somehow.
This commit is contained in:
Andreas Kling 2019-11-23 22:11:44 +01:00
parent 88c5126fa7
commit eb85103271
10 changed files with 47 additions and 6 deletions

View file

@ -2,5 +2,5 @@ endpoint ProtocolClient = 13
{
// Download notifications
DownloadProgress(i32 download_id, u32 total_size, u32 downloaded_size) =|
DownloadFinished(i32 download_id, bool success) =|
DownloadFinished(i32 download_id, bool success, u32 total_size, i32 shared_buffer_id) =|
}