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

BIND 10 Development do-not-reply at isc.org
Sat May 29 23:05:48 UTC 2010


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

  * owner:  each => jelte


Comment:

 There was a merge conflict: a bit of code recently added by Jelte to
 run_server() (which is being deleted, in favor of the ASIO code).

 The new code checked for pending configuration requests before processing
 a query.  It wasn't being done in the boost::asio version, but it looks to
 me like it ought to have been.  So I tried adding this into asio_link.c;
 it seems to work.  Jelte, can you please look at this and tell me if it's
 okay?

 I'm going to go ahead and merge to trunk; if this code is incorrect I'd
 rather open a separate ticket to deal with it.  If it's okay, please just
 mark the ticket resolved.  Thanks...

 diff -r af7244410ce2 src/bin/auth/asio_link.cc
 --- a/src/bin/auth/asio_link.cc Sat May 29 01:24:34 2010 +0000
 +++ b/src/bin/auth/asio_link.cc Sat May 29 15:06:36 2010 -0700
 @@ -100,6 +100,10 @@
      {}

      void start() {
 +        // Check for queued configuration commands
 +        if (auth_server_->configSession()->hasQueuedMsgs()) {
 +            auth_server_->configSession()->checkCommand();
 +        }
          async_read(socket_, asio::buffer(data_, TCP_MESSAGE_LENGTHSIZE),
                     boost::bind(&TCPClient::headerRead, this,
                                 placeholders::error,
 @@ -263,6 +267,10 @@
      void handleRequest(const asio::error_code& error,
                         size_t bytes_recvd)
      {
 +        // Check for queued configuration commands
 +        if (auth_server_->configSession()->hasQueuedMsgs()) {
 +            auth_server_->configSession()->checkCommand();
 +        }
          if (!error && bytes_recvd > 0) {
              InputBuffer request_buffer(data_, bytes_recvd);

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


More information about the bind10-tickets mailing list