@Override
public void addEntry(final BookieSocketAddress addr,
final long ledgerId,
final byte[] masterKey,
final long entryId,
final ByteBufList toSend,
final WriteCallback cb,
final Object ctx,
final int options,
final boolean allowFastFail,
final EnumSet<WriteFlag> writeFlags) {
final PerChannelBookieClientPool client = lookupClient(addr);
if (client == null) {
completeAdd(getRc(BKException.Code.BookieHandleNotAvailableException),
ledgerId, entryId, addr, cb, ctx);
return;
}
toSend.retain();
client.obtain(ChannelReadyForAddEntryCallback.create(
this, toSend, ledgerId, entryId, addr,
ctx, cb, options, masterKey, allowFastFail, writeFlags),
ledgerId);
}