BIND 10 #296: Timeouts on msgq's cc-channel

BIND 10 Development do-not-reply at isc.org
Wed Aug 4 19:54:49 UTC 2010


#296: Timeouts on msgq's cc-channel
-------------------------------+--------------------------------------------
      Reporter:  jelte         |        Owner:  jelte               
          Type:  enhancement   |       Status:  new                 
      Priority:  major         |    Milestone:  y2 6 month milestone
     Component:  Unclassified  |   Resolution:                      
      Keywords:                |    Sensitive:  0                   
Estimatedhours:  0.0           |        Hours:  0                   
      Billable:  1             |   Totalhours:  0                   
      Internal:  0             |  
-------------------------------+--------------------------------------------

Comment(by jelte):

 Replying to [comment:2 jinmei]:
 > Some random comments:
 >

 thanks :)

 >  - overall it seems to work as intended, but I'd confirm it works even
 if there's another outstanding event and it's completed before this
 async_read() is done.

 and also block until such is the case?

 >  - I hope this type of trick is a short term workaround.  I guess we
 should eventually make these asynchronous.

 I think it'll require quite a bit of redesign of the msgq interface, as
 well as the way it is used (which i suspect is the reason parts of it now
 do an 'empty' async read followed by a sync read if that one is triggers)

 But yes, we should consider it.

 >  - if I remember correctly there's a version of async_read where you
 don't have to specify "transfer_at_least".

 Oh yes, I think it should also work without that. Removing.

 >  - is it okay to ignore other errors than operation_aborted in
 async_read()?  it's also not clear what this code tries to do by
 explicitly excluding operation_aborted.

 No the 'real' errors aren't handled right now; the operation_aborted is an
 'error' value that is given when cancel() is called, in which case the 'i
 am done' boolean isn't set here. Perhaps we should not use a bool but a
 return code directly.

 >  - there are some style guide violations.
 >  - I thought the type of the error_code arg in asio callbacks is const
 asio::error_code&.
 >  - the policy of whether to use the asio namespace doesn't seem to be
 consistent.  (and I'm not sure why we don't need to add it for
 "async_read"...)
 >  - this seems to be an incomplete what() message:
 > {{{
 >             isc_throw(SessionTimeout, "Timeout or error on ");
 > }}}

 Ack. Fixed these (well, I just put asio:: before the async_read()s)

 r2634

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


More information about the bind10-tickets mailing list