Go to the documentation of this file.
61 #include "../internal.h"
107 if (peer_bio == NULL) {
111 peer_b = peer_bio->
ptr;
113 assert(peer_b != NULL);
114 assert(peer_b->
peer == bio);
118 assert(peer_b->
buf != NULL);
124 assert(
b->buf != NULL);
157 assert(
b->peer != NULL);
158 peer_b =
b->peer->ptr;
159 assert(peer_b != NULL);
160 assert(peer_b->
buf != NULL);
164 if (
buf == NULL ||
size == 0) {
168 if (peer_b->
len == 0) {
197 assert(rest <= peer_b->
len);
204 assert(peer_b->
offset + chunk <= peer_b->
size);
208 peer_b->
len -= chunk;
218 assert(chunk == rest);
240 assert(
b->peer != NULL);
241 assert(
b->buf != NULL);
250 assert(
b->len <=
b->size);
252 if (
b->len ==
b->size) {
258 if (
num >
b->size -
b->len) {
259 num =
b->size -
b->len;
271 assert(
b->len + rest <= b->
size);
273 write_offset =
b->offset +
b->len;
274 if (write_offset >=
b->size) {
275 write_offset -=
b->size;
279 if (write_offset + rest <= b->
size) {
283 chunk =
b->size - write_offset;
290 assert(
b->len <=
b->size);
300 size_t writebuf2_len) {
303 assert(bio1 != NULL);
304 assert(bio2 != NULL);
309 if (
b1->peer != NULL ||
b2->peer != NULL) {
314 if (
b1->buf == NULL) {
316 b1->size = writebuf1_len;
319 if (
b1->buf == NULL) {
327 if (
b2->buf == NULL) {
329 b2->size = writebuf2_len;
332 if (
b2->buf == NULL) {
369 if (
b->peer == NULL ||
b->closed) {
410 if (
b->peer != NULL) {
420 if (
b->buf != NULL) {
434 assert(other_b != NULL);
456 BIO** bio2_p,
size_t writebuf2_len) {
459 if (bio1 == NULL || bio2 == NULL ||
#define BIO_C_GET_WRITE_GUARANTEE
#define BIO_CTRL_WPENDING
#define BIO_C_GET_WRITE_BUF_SIZE
int BIO_shutdown_wr(BIO *bio)
int BIO_new_bio_pair(BIO **bio1_p, size_t writebuf1_len, BIO **bio2_p, size_t writebuf2_len)
size_t BIO_ctrl_get_write_guarantee(BIO *bio)
static int bio_free(BIO *bio)
#define BIO_set_retry_write
#define OPENSSL_PUT_ERROR(library, reason)
static int bio_make_pair(BIO *bio1, BIO *bio2, size_t writebuf1_len, size_t writebuf2_len)
static int bio_new(BIO *bio)
static const BIO_METHOD * bio_s_bio(void)
static void * OPENSSL_memset(void *dst, int c, size_t n)
static void * OPENSSL_memcpy(void *dst, const void *src, size_t n)
size_t BIO_ctrl_get_read_request(BIO *bio)
#define BIO_R_BROKEN_PIPE
static const BIO_METHOD methods_biop
#define BIO_CTRL_GET_CLOSE
#define BIO_C_GET_READ_REQUEST
static int bio_write(BIO *bio, const char *buf, int num_)
#define BIO_CTRL_SET_CLOSE
static long bio_ctrl(BIO *bio, int cmd, long num, void *ptr)
UniquePtr< SSL_SESSION > ret
static void bio_destroy_pair(BIO *bio)
#define BIO_C_SHUTDOWN_WR
#define BIO_C_RESET_READ_REQUEST
#define BIO_set_retry_read
if(p->owned &&p->wrapped !=NULL)
#define ERR_R_MALLOC_FAILURE
#define BIO_clear_retry_flags
static int bio_read(BIO *bio, char *buf, int size_)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:49