Exemplo n.º 1
0
    void WriteOp::noteWriteComplete( const TargetedWrite& targetedWrite ) {

        const WriteOpRef& ref = targetedWrite.writeOpRef;
        dassert( static_cast<size_t>( ref.second ) < _childOps.size() );
        ChildWriteOp& childOp = *_childOps.at( ref.second );

        childOp.pendingWrite = NULL;
        childOp.endpoint.reset( new ShardEndpoint( targetedWrite.endpoint ) );
        childOp.state = WriteOpState_Completed;
        updateOpState();
    }
Exemplo n.º 2
0
    void WriteOp::noteWriteError( const TargetedWrite& targetedWrite,
                                  const BatchedErrorDetail& error ) {

        const WriteOpRef& ref = targetedWrite.writeOpRef;
        ChildWriteOp& childOp = *_childOps.at( ref.second );

        childOp.pendingWrite = NULL;
        childOp.endpoint.reset( new ShardEndpoint( targetedWrite.endpoint ) );
        childOp.error.reset( new BatchedErrorDetail );
        error.cloneTo( childOp.error.get() );
        childOp.state = WriteOpState_Error;
        updateOpState();
    }
Exemplo n.º 3
0
void WriteOp::noteWriteError( const TargetedWrite& targetedWrite,
                              const WriteErrorDetail& error ) {

    const WriteOpRef& ref = targetedWrite.writeOpRef;
    ChildWriteOp& childOp = *_childOps.at( ref.second );

    childOp.pendingWrite = NULL;
    childOp.endpoint.reset( new ShardEndpoint( targetedWrite.endpoint ) );
    childOp.error.reset( new WriteErrorDetail );
    error.cloneTo( childOp.error.get() );
    dassert( ref.first == _itemRef.getItemIndex() );
    childOp.error->setIndex( _itemRef.getItemIndex() );
    childOp.state = WriteOpState_Error;
    updateOpState();
}