diff options
author | rl1987 <rl1987@sdf.lonestar.org> | 2019-02-09 16:06:32 +0200 |
---|---|---|
committer | rl1987 <rl1987@sdf.lonestar.org> | 2019-02-09 16:06:32 +0200 |
commit | 09a3c949f8388c83d4b62e281474687a26596a59 (patch) | |
tree | 476d1379d30c6d122e3950b3ab1a6fb656ecd40f /src | |
parent | 7f59b9fb1fdc4519e663fa82e416eccae88e8934 (diff) | |
download | tor-09a3c949f8388c83d4b62e281474687a26596a59.tar.gz tor-09a3c949f8388c83d4b62e281474687a26596a59.zip |
Add connection_dir_buf_add() helper function
Diffstat (limited to 'src')
-rw-r--r-- | src/core/mainloop/connection.c | 17 | ||||
-rw-r--r-- | src/core/mainloop/connection.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c index 37f35c8b8d..b53552a53d 100644 --- a/src/core/mainloop/connection.c +++ b/src/core/mainloop/connection.c @@ -4341,6 +4341,23 @@ connection_write_to_buf_impl_,(const char *string, size_t len, connection_write_to_buf_commit(conn, written); } +/** + * Write a <b>string</b> (of size <b>len</b> to directory connection + * <b>dir_conn</b>. Apply compression if connection is configured to use + * it and finalize it if <b>done</b> is true. + */ +void +connection_dir_buf_add(const char *string, size_t len, + dir_connection_t *dir_conn, int done) +{ + if (dir_conn->compress_state != NULL) { + connection_buf_add_compress(string, len, dir_conn, done); + return; + } + + connection_buf_add(string, len, TO_CONN(dir_conn)); +} + void connection_buf_add_compress(const char *string, size_t len, dir_connection_t *conn, int done) diff --git a/src/core/mainloop/connection.h b/src/core/mainloop/connection.h index f4f0e839ae..de6473251d 100644 --- a/src/core/mainloop/connection.h +++ b/src/core/mainloop/connection.h @@ -226,6 +226,8 @@ MOCK_DECL(void, connection_write_to_buf_impl_, /* DOCDOC connection_write_to_buf */ static void connection_buf_add(const char *string, size_t len, connection_t *conn); +void connection_dir_buf_add(const char *string, size_t len, + dir_connection_t *dir_conn, int done); static inline void connection_buf_add(const char *string, size_t len, connection_t *conn) { |