/* Check for dirty connections and update their pollsets accordingly. */ static apr_status_t check_dirty_pollsets(serf_context_t *ctx) { int i; /* if we're not dirty, return now. */ if (!ctx->dirty_pollset) { return APR_SUCCESS; } for (i = ctx->conns->nelts; i--; ) { serf_connection_t *conn = GET_CONN(ctx, i); apr_status_t status; /* if this connection isn't dirty, skip it. */ if (!conn->dirty_conn) { continue; } /* reset this connection's flag before we update. */ conn->dirty_conn = 0; if ((status = serf__conn_update_pollset(conn)) != APR_SUCCESS) return status; } /* reset our context flag now */ ctx->dirty_pollset = 0; return APR_SUCCESS; }
string CConn_IOStream::GetDescription(void) const { CONN conn = GET_CONN(m_CSb); char* text = conn ? CONN_Description(conn) : 0; string retval(text ? text : kEmptyStr); if (text) free(text); return retval; }
const STimeout* CConn_IOStream::GetTimeout(EIO_Event direction) const { CONN conn = GET_CONN(m_CSb); return conn ? CONN_GetTimeout(conn, direction) : 0; }
EIO_Status CConn_IOStream::SetTimeout(EIO_Event direction, const STimeout* timeout) const { CONN conn = GET_CONN(m_CSb); return conn ? CONN_SetTimeout(conn, direction, timeout) : eIO_Closed; }
string CConn_IOStream::GetType(void) const { CONN conn = GET_CONN(m_CSb); const char* type = conn ? CONN_GetType(conn) : 0; return type ? type : kEmptyStr; }
CONN CConn_IOStream::GetCONN(void) const { return GET_CONN(m_CSb); }