servlib/bundling/BPQResponse.cc
changeset 22 3c36683e13be
parent 21 ea3d443fb6bc
child 25 082e0ad22355
equal deleted inserted replaced
21:ea3d443fb6bc 22:3c36683e13be
    73         // making sure the buffer is big enough
    73         // making sure the buffer is big enough
    74         const u_char* data = current_bi.writable_contents()->
    74         const u_char* data = current_bi.writable_contents()->
    75                              buf(current_bi.full_length())
    75                              buf(current_bi.full_length())
    76                            + current_bi.data_offset();
    76                            + current_bi.data_offset();
    77 
    77 
    78         BlockInfo* new_bi = new_response->api_blocks()->append_block(new_bp);
    78         // it is intentional that the blocks are copied from 
       
    79         // the api -> recv list
       
    80         // API blocks should not exist before a bundle is sent 
       
    81         // and will break an assertion in 
       
    82         // bundling/PrimaryBlockProcessor.cc:
       
    83         // ASSERTION FAILED (xmit_blocks->size() == 0) 
       
    84         BlockInfo* new_bi = new_response->mutable_recv_blocks()->
       
    85                             append_block(new_bp);
    79         new_bp->init_block( new_bi,
    86         new_bp->init_block( new_bi,
    80                             new_response->api_blocks(),
    87                             new_response->mutable_recv_blocks(),
    81                             current_bi.type(),
    88                             current_bi.type(),
    82                             current_bi.flags(),
    89                             current_bi.flags(),
    83                             data,
    90                             data,
    84                             current_bi.full_length() );
    91                             current_bi.full_length() );
    85     }
    92     }