BIND 10 #168: separate ASIO from Boost and remove custom code

BIND 10 Development do-not-reply at isc.org
Mon May 31 10:57:52 UTC 2010


#168: separate ASIO from Boost and remove custom code
----------------------+-----------------------------------------------------
 Reporter:  larissas  |        Owner:  each                                       
     Type:  task      |       Status:  reviewing                                  
 Priority:  major     |    Milestone:  04. 2nd Incremental Release: Early Adopters
Component:  b10-auth  |   Resolution:                                             
 Keywords:            |    Sensitive:  0                                          
----------------------+-----------------------------------------------------
Changes (by jelte):

  * owner:  jelte => each


Comment:

 This doesn't seem exactly right, the hasQueuedMessages&&checkCommand was
 used in before select() loops where the processing of the loop could have
 had synchronous request/response communication. If there are other
 messages arriving while this is being done these are queued and need to be
 resolved at some point. In the loop structure the right place for this is
 at the start of the loop. In an asynchronous setup, I'm not entirely sure
 whether this should be handled at all, though I haven't fully wrapped my
 head around asio yet (do we get an immediate calling of the io_services
 handler the moment a new message arrives, even if we're still busy
 handling other stuff? Or does asio call it as soon as we're done, at which
 point we do have possibly queued messages, and if so the current way is
 probably right, although we could consider putting it in moduleccsession
 itself, at the end of checkcommand (while stuff_left handle_stuff)).

 There is, however, a more immediate problem; in the current trunk,
 commands aren't handled at all. Since ModuleCCSession is started without
 an io_service, it defaults to the (non-asio) SocketSession, which expects
 manual polls. I have a small patch that fixes this, but it needs expansion
 of the asio_link API, to get access to the underlying io_service object.
 This isn't really clean and I think we should probably refactor this,
 though I'm not sure how, and i'd like to have a bit of a brainstorm for
 this (and probably another ticket).

-- 
Ticket URL: <http://bind10.isc.org/ticket/168#comment:22>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list