Re: [asio-users] using external library
Brought to you by:
chris_kohlhoff
From: Alejandro S. <al...@gm...> - 2006-10-31 19:00:24
|
Hi ! I'm a novice with ASIO but i can tell you that, internally, ASIO uses different methods to "know" when some data has arrived. One of them is asyncronous notifications (Windows IOCP, for example); meaning that you make the call to read on the socket providing some buffer, and, some time later, the library receives a notification that some data has arrived on the buffers. So, when the notification has arrived you dont need to call the "read" operation on the socket because you already have the data on the buffers you gave some time back. That's how it works an asyncronous read and that's why ASIO gives you the data on the callback. I belive ASIO also emulates asyncronous notifications using non-async methods (with different Reactors: poll, select, etc), but that's an implementation issue and gives the library the "uniform" interface wich makes the library so nice =) Perhaps this link will be more helpful to you (heavy reading): http://www.kegel.com/c10k.html Cheers, Alejandro. On 10/31/06, Mahesh Bhat <mah...@gm...> wrote: > Hi Chris, > > > I see that with the interfaces provided I can provide callbacks to handle > read using async_read etc. > My problem is that I am using a library which gives you a socket descriptor > but its read function is private. > It is not even in the header file that I see. What the library expects is > that you invoke its public function whenever the socket has any data on it. > It uses its own buffers. But asio does not provide an interface to just > invoke a callback when the socket becomes readable( or does it ?). asio does > the read and then passes the buffer to the handle_read of the client class. > How can I get around this ? > In short can I get asio to invoke a callback when the socket becomes > readable and not do the actual read. > > Thanks in advance > > Mahesh. > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > asio-users mailing list > asi...@li... > https://lists.sourceforge.net/lists/listinfo/asio-users > > > |