From: Michael Tremer Date: Wed, 25 Jun 2025 16:49:04 +0000 (+0000) Subject: builder: Move function to send messages into the socket X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23d384d48ce5d63a206f756891286080f03d24ea;p=pakfire.git builder: Move function to send messages into the socket Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/builder.c b/src/pakfire/builder.c index 05fd3600..70f873ac 100644 --- a/src/pakfire/builder.c +++ b/src/pakfire/builder.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -239,3 +240,35 @@ int pakfire_builder_close(struct pakfire_xfer* xfer, int code, void* data) { return 0; } + +int pakfire_builder_send_message(struct pakfire_builder* self, struct json_object* message) { + const char* m = NULL; + size_t length = 0; + int r; + + // Return an error if we are not connected + if (!self->control) + return -ENOTCONN; + + // Serialize to string + m = pakfire_json_to_string(message, &length); + if (!m) { + ERROR(self->ctx, "Failed to serialize message: %m\n"); + return -errno; + } + + // Send the message + r = pakfire_xfer_send_message(self->control, m, length); + if (r < 0) { + switch (-r) { + case EAGAIN: + break; + + default: + ERROR(self->ctx, "Failed to send message: %s\n", strerror(-r)); + return r; + } + } + + return 0; +} diff --git a/src/pakfire/builder.h b/src/pakfire/builder.h index 01b14bc7..1b722d86 100644 --- a/src/pakfire/builder.h +++ b/src/pakfire/builder.h @@ -39,4 +39,6 @@ int pakfire_builder_connect(struct pakfire_builder* self); int pakfire_builder_connected(struct pakfire_xfer* xfer, void* data); int pakfire_builder_close(struct pakfire_xfer* xfer, int code, void* data); +int pakfire_builder_send_message(struct pakfire_builder* self, struct json_object* message); + #endif /* PAKFIRE_BUILDER_H */ diff --git a/src/pakfire/daemon.c b/src/pakfire/daemon.c index 37241cbb..5e51c3e6 100644 --- a/src/pakfire/daemon.c +++ b/src/pakfire/daemon.c @@ -938,40 +938,3 @@ int pakfire_daemon_job_finished(struct pakfire_daemon* daemon, struct pakfire_jo return 0; } - -int pakfire_daemon_send_message(struct pakfire_daemon* self, struct json_object* message) { - const char* m = NULL; - size_t length = 0; - int r; - -#if 0 - // Return an error if we are not connected - if (!self->control) - return -ENOTCONN; -#endif - - // Serialize to string - m = json_object_to_json_string_length(message, - JSON_C_TO_STRING_SPACED | JSON_C_TO_STRING_PRETTY, &length); - if (!m) { - ERROR(self->ctx, "Failed to serialize message: %m\n"); - return -errno; - } - -#if 0 - // Send the message - r = pakfire_xfer_send_message(self->control, m, length); - if (r < 0) { - switch (-r) { - case EAGAIN: - break; - - default: - ERROR(self->ctx, "Failed to send message: %s\n", strerror(-r)); - return r; - } - } -#endif - - return 0; -}