Re: [Vala] shortcut: Better co-routine support with fibers



Sam, this is exciting stuff, I'd love to see this in Vala.

My team and I are working on the Vala-reimplementation of the 
freesmartphone.org mobile phone middleware, which makes heavy usage of 
asynchronous dbus on server side. 

One of the two things holding further work back is the lack of dbus error 
marshalling and server side async dbus support, the latter preferably with 
coroutines, since it makes parsing the control flow so much better than with 
dozens of callbacks.

With this method, "yield" will switch back to the main context, and
should only be called from a co-routine context. Something must generate
the co-routine instance. In samba it happens explicitly when the
function consciously decides to defer execution of a specific task, but
I'm not sure if this carries over well to some vala examples where yield
might be used during io selection and so forth.

In Python it also happens explicitly -- I don't see a way around this and as 
far as I'm concerned, I think explicitly is better for clarity.

:M:




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]