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:
Willy Tarreau 2012-08-20 20:27:59 +02:00 committed by Willy Tarreau
parent af978c4170
commit 1fe6bc335a
2 changed files with 4 additions and 1 deletions

View File

@ -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 :

View File

@ -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,
}; };