RE: Problems with the Stream interface



Hi,

What about using DII to make deferred synchronous
requests?

You would make a CORBA_Request for the stream, add a
function to the event loop which would poll for new
data, fetch it, then issue a callback.

This could all be wrapped in something that looks like
an async stream interface, but with a whole lot less
work.

Benefits of this are easy implementation, not forcing
threading on unaware apps, and minimal impact on
existing code.

-Alex

-----Original Message-----
From: Miguel de Icaza
To: Maciej Stachowiak
Cc: gnome-components-list@gnome.org
Sent: 8/12/00 12:27 PM
Subject: Re: Problems with the Stream interface


> This is a problem for applications in general. If we
want to be able
> to handle large data sets, and have everything be
network-transparent,
> we need this kind of loading to be async. I've been
told it's not a
> problem for evolution because the relevant data sets
are small, but I
> imagine in the future someone might send a 300-page
Word document
> attachment, and the poor recipient will have to see
the whole UI block
> while it gets streamed into the view component.

We are now using threads in evolution to avoid similar
problems. 

> If we don't want to force components to be bother
with the complexity
> of handling asynchronous I/O (an understandable
goal), it should
> actually be possible to emulate the current
synchronous stream
> interface in terms of the async calls (so the only
IDL would be for
> the async stream interface, but the bonobo
client-side wrappers would
> provide emulated synchronous calls). 

The problem with this approach is that it means that
anyone
implementing the Stream interface outside of the
Bonobo C
implementation will have to bother with the details. 
For instance,
Perl components or Python components which have
nothing but the most
minimal runtime available.

But what is exactly the problem you are facing here
Maciej?  

I do like to some extent the idea of having a
callback-based system to
deliver the async features, but the Stream interface
as it stands is
just a simple file-IO like interface.  I would very
much like to avoid
replacing it to be asyncronous.

Miguel.

_______________________________________________
gnome-components-list mailing list
gnome-components-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gnome-components-list


__________________________________________________
Do You Yahoo!?
Yahoo! Mail – Free email you can access from anywhere!
http://mail.yahoo.com/




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