slen = fr_bio_write(my->common.bio, &packet->socket, packet->data, packet->data_len);
if (slen <= 0) goto fail;
+ my->outstanding++;
+
return 0;
}
}
*retry_ctx_p = id_ctx->retry_ctx;
+
+ fr_assert(my->outstanding > 0);
+ my->outstanding--;
return true;
}
return my->fd;
}
+size_t fr_radius_client_bio_outstanding(fr_bio_packet_t *bio)
+{
+ fr_radius_client_fd_bio_t *my = talloc_get_type_abort(bio, fr_radius_client_fd_bio_t);
+
+ return my->outstanding;
+}
+
+
/** Try to connect a socket.
*
* Calls fr_bio_fd_connect()
fr_bio_packet_t *fr_radius_client_bio_alloc(TALLOC_CTX *ctx, fr_radius_client_config_t *cfg, fr_bio_fd_config_t const *fd_cfg) CC_HINT(nonnull);
-fr_bio_t *fr_radius_client_bio_get_fd(fr_bio_packet_t *bio) CC_HINT(nonnull);
-
int fr_radius_client_bio_connect(fr_bio_packet_t *bio) CC_HINT(nonnull);
int fr_radius_client_fd_bio_cancel(fr_bio_packet_t *bio, fr_packet_t *packet) CC_HINT(nonnull);
+
+fr_bio_t *fr_radius_client_bio_get_fd(fr_bio_packet_t *bio) CC_HINT(nonnull);
+
+size_t fr_radius_client_bio_outstanding(fr_bio_packet_t *bio) CC_HINT(nonnull);