Mir

lp:~raof/mir/surface-event-ordering

Created by Chris Halse Rogers and last modified
Get this branch:
bzr branch lp:~raof/mir/surface-event-ordering
Only Chris Halse Rogers can upload to this branch. If you are Chris Halse Rogers please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Chris Halse Rogers
Project:
Mir
Status:
Development

Recent revisions

2933. By Chris Halse Rogers

BufferingMessageSender: Split uncork() and drain().

We actually want to send messages *out of order*; the create_surface reply first,
*then* the buffered messages (which possibly reference that surface).

To do this we need to first uncork(), so that the reply can be sent, *then* drain(),
sending any events that were buffered up.

2932. By Chris Halse Rogers

Update compile guards for EventSink, because we can

2931. By Chris Halse Rogers

Examples: Pass the surface-builder function through to generate_decorations_for

Because we do the simplest possible thing and use a full-fat BasicSurface for the example
decorations we should build it correctly; that's what the build function is for.

2930. By Chris Halse Rogers

Ensure correct ordering of surface events.

Ensure that no surface events are sent before the create_surface reply is sent,
instead buffer them up and send them just after the create_surface reply.

2929. By Chris Halse Rogers

Provide a Surface's EventSink directly from SessionMediator on create_surface

2928. By Chris Halse Rogers

Plumb an EventSinkFactory through to SessionMediator.

SessionMediator will use this to create Surface event sinks.

2927. By Chris Halse Rogers

Test that BufferedMessageSender correctly buffers and sends fds

2926. By Chris Halse Rogers

Make calling uncork() twice harmless

2925. By Chris Halse Rogers

Test that messages sent after uncork() are dispatched.

2924. By Chris Halse Rogers

Add a BufferingMessageSender implementation.

This adapts another MessageSender, queuing up all messages internally until
uncork() is called and then transparently sending to the underlying
MessageSender.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:mir
This branch contains Public information 
Everyone can see this information.