[libsoup] message: pass chunk size to SoupMessage::wrote-body-data



commit 6aaedea3ebb35bb6f29417cc21fcad2573aada99
Author: Carlos Garcia Campos <cgarcia igalia com>
Date:   Tue Nov 3 17:02:35 2020 +0100

    message: pass chunk size to SoupMessage::wrote-body-data

 libsoup/soup-message-io.c      |  7 +------
 libsoup/soup-message-private.h |  2 +-
 libsoup/soup-message.c         | 13 +++++++------
 tests/request-body-test.c      |  7 +++----
 4 files changed, 12 insertions(+), 17 deletions(-)
---
diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c
index 34d40d00..b15c7c8a 100644
--- a/libsoup/soup-message-io.c
+++ b/libsoup/soup-message-io.c
@@ -169,12 +169,7 @@ static void
 request_body_stream_wrote_data_cb (SoupMessage *msg,
                                   guint        count)
 {
-       GBytes *chunk;
-
-       /* FIXME: Change SoupMessage::wrote-body-data to pass just the size */
-       chunk = g_bytes_new_static ("", count);
-       soup_message_wrote_body_data (msg, chunk);
-       g_bytes_unref (chunk);
+       soup_message_wrote_body_data (msg, count);
 }
 
 static void
diff --git a/libsoup/soup-message-private.h b/libsoup/soup-message-private.h
index 643140ae..d85445fa 100644
--- a/libsoup/soup-message-private.h
+++ b/libsoup/soup-message-private.h
@@ -89,7 +89,7 @@ GInputStream *soup_message_io_get_response_istream (SoupMessage  *msg,
 
 void soup_message_wrote_headers     (SoupMessage *msg);
 void soup_message_wrote_body_data   (SoupMessage *msg,
-                                    GBytes      *chunk);
+                                    gsize        chunk_size);
 void soup_message_wrote_body        (SoupMessage *msg);
 void soup_message_got_informational (SoupMessage *msg);
 void soup_message_got_headers       (SoupMessage *msg);
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index 8cda7ea5..d01a6eb6 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -326,7 +326,7 @@ soup_message_class_init (SoupMessageClass *message_class)
        /**
         * SoupMessage::wrote-body-data:
         * @msg: the message
-        * @chunk: the data written
+        * @chunk_size: the number of bytes written
         *
         * Emitted immediately after writing a portion of the message
         * body to the network.
@@ -334,14 +334,14 @@ soup_message_class_init (SoupMessageClass *message_class)
         * Since: 2.24
         **/
        signals[WROTE_BODY_DATA] =
-               g_signal_new ("wrote_body_data",
+               g_signal_new ("wrote-body-data",
                              G_OBJECT_CLASS_TYPE (object_class),
                              G_SIGNAL_RUN_FIRST,
-                             0, /* FIXME after next ABI break */
+                             0,
                              NULL, NULL,
                              NULL,
                              G_TYPE_NONE, 1,
-                             G_TYPE_BYTES);
+                             G_TYPE_UINT);
 
        /**
         * SoupMessage::wrote-body:
@@ -862,9 +862,10 @@ soup_message_wrote_headers (SoupMessage *msg)
 }
 
 void
-soup_message_wrote_body_data (SoupMessage *msg, GBytes *chunk)
+soup_message_wrote_body_data (SoupMessage *msg,
+                             gsize        chunk_size)
 {
-       g_signal_emit (msg, signals[WROTE_BODY_DATA], 0, chunk);
+       g_signal_emit (msg, signals[WROTE_BODY_DATA], 0, chunk_size);
 }
 
 void
diff --git a/tests/request-body-test.c b/tests/request-body-test.c
index c27475c6..ca3ab3c9 100644
--- a/tests/request-body-test.c
+++ b/tests/request-body-test.c
@@ -27,12 +27,11 @@ typedef enum {
 
 static void
 wrote_body_data (SoupMessage *msg,
-                 GBytes      *chunk,
+                guint        count,
                  PutTestData *ptd)
 {
-        debug_printf (2, "  wrote_body_data, %d bytes\n",
-                      (int)g_bytes_get_size (chunk));
-        ptd->nwrote += g_bytes_get_size (chunk);
+        debug_printf (2, "  wrote_body_data, %u bytes\n", count);
+        ptd->nwrote += count;
 }
 
 static GChecksum *


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]