}
bool AsyncConnection::is_queued() const {
- return protocol->is_queued() || outcoming_bl.length();
+ return outcoming_bl.length();
}
void AsyncConnection::shutdown_socket() {
ack_left -= left;
left = ack_left;
r = connection->_try_send(left);
- } else if (connection->is_queued()) {
+ } else if (is_queued()) {
r = connection->_try_send();
}
}
connection->write_lock.unlock();
connection->lock.lock();
connection->write_lock.lock();
- if (state == STANDBY && !connection->policy.server &&
- connection->is_queued()) {
+ if (state == STANDBY && !connection->policy.server && is_queued()) {
ldout(cct, 10) << __func__ << " policy.server is false" << dendl;
connection->_connect();
} else if (connection->cs && state != NONE && state != CLOSED &&
}
}
-bool ProtocolV1::is_queued() { return !out_q.empty(); }
+bool ProtocolV1::is_queued() {
+ return !out_q.empty() || connection->is_queued();
+}
void ProtocolV1::run_continuation(CtPtr continuation) {
CONTINUATION_RUN(continuation);
connection->write_lock.lock();
can_write = WriteStatus::CANWRITE;
- if (connection->is_queued()) {
+ if (is_queued()) {
connection->center->dispatch_event_external(connection->write_handler);
}
connection->write_lock.unlock();