~robert-ancell/mir/vt-tty0

Viewing all changes in revision 3479.

client: send incoming asynchronous buffer messages directly to the mcl::Buffer object. Prepares the buffers to be allocated from the connection, instead of a chain/stream.

Change the async protocol a bit too so the RPC channel can manage the async buffers better. The RPC allocate/free buffer calls are not synchronized with the async buffer sending, so the server has to be a bit more explicit about what operation its performing, so the client side rpc channel can clean up the buffers better.

So the notification chains go from:
OBS (buffer_stream):
rpc -> buffer_stream
NBS (buffer_stream):
rpc -> buffer_stream
NBS: (presentation_chain):
rpc -> buffer_stream -> buffer

to:

OBS (buffer_stream):
rpc -> buffer_stream
NBS (buffer_stream):
rpc -> buffer -> buffer_stream
NBS: (presentation_chain):
rpc -> buffer .

Approved by mir-ci-bot, Cemil Azizoglu.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: