mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
MINOR: stream-interface: add an rcv_buf callback to sock_ops
This one is to be used by the read I/O handlers.
This commit is contained in:
parent
af978c4170
commit
1fe6bc335a
@ -91,6 +91,7 @@ enum {
|
|||||||
|
|
||||||
#define SI_FL_CAP_SPLICE (SI_FL_CAP_SPLTCP)
|
#define SI_FL_CAP_SPLICE (SI_FL_CAP_SPLTCP)
|
||||||
|
|
||||||
|
struct buffer;
|
||||||
struct server;
|
struct server;
|
||||||
struct proxy;
|
struct proxy;
|
||||||
struct si_applet;
|
struct si_applet;
|
||||||
@ -118,6 +119,7 @@ struct sock_ops {
|
|||||||
void (*write)(struct connection *conn); /* write callback after poll() */
|
void (*write)(struct connection *conn); /* write callback after poll() */
|
||||||
void (*close)(struct connection *); /* close the data channel on the connection */
|
void (*close)(struct connection *); /* close the data channel on the connection */
|
||||||
int (*snd_buf)(struct connection *conn); /* callback used to send a buffer contents */
|
int (*snd_buf)(struct connection *conn); /* callback used to send a buffer contents */
|
||||||
|
int (*rcv_buf)(struct connection *conn, struct buffer *buf, int count); /* recv callback */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* A stream interface has 3 parts :
|
/* A stream interface has 3 parts :
|
||||||
|
@ -343,7 +343,7 @@ static void sock_raw_read(struct connection *conn)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = raw_sock_to_buf(conn, &b->buf, max);
|
ret = conn->data->rcv_buf(conn, &b->buf, max);
|
||||||
if (ret <= 0)
|
if (ret <= 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -634,6 +634,7 @@ struct sock_ops raw_sock = {
|
|||||||
.read = sock_raw_read,
|
.read = sock_raw_read,
|
||||||
.write = si_conn_send_cb,
|
.write = si_conn_send_cb,
|
||||||
.snd_buf = sock_raw_write_loop,
|
.snd_buf = sock_raw_write_loop,
|
||||||
|
.rcv_buf = raw_sock_to_buf,
|
||||||
.close = NULL,
|
.close = NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user