unsigned int running_jobs;
};
-static void pakfire_builder_free(struct pakfire_builder* self) {
+static void pakfire_builder_free(pakfire_builder* self) {
if (self->reconnect_timer)
sd_event_source_unref(self->reconnect_timer);
if (self->stats_timer)
free(self);
}
-int pakfire_builder_create(struct pakfire_builder** builder,
+int pakfire_builder_create(pakfire_builder** builder,
pakfire_ctx* ctx, pakfire_client* client) {
- struct pakfire_builder* self = NULL;
+ pakfire_builder* self = NULL;
int r;
// Allocate some memory
return r;
}
-struct pakfire_builder* pakfire_builder_ref(struct pakfire_builder* self) {
+pakfire_builder* pakfire_builder_ref(pakfire_builder* self) {
++self->nrefs;
return self;
}
-struct pakfire_builder* pakfire_builder_unref(struct pakfire_builder* self) {
+pakfire_builder* pakfire_builder_unref(pakfire_builder* self) {
if (--self->nrefs > 0)
return self;
return NULL;
}
-int pakfire_builder_connect(struct pakfire_builder* self) {
+int pakfire_builder_connect(pakfire_builder* self) {
// Bail if we are already connected
if (self->control)
return -EBUSY;
/*
Schedules submitting stats some time in the future...
*/
-static int pakfire_builder_schedule_stats(struct pakfire_builder* self, uint64_t usec) {
+static int pakfire_builder_schedule_stats(pakfire_builder* self, uint64_t usec) {
int r;
// Create the stats timer if it has not been created, yet
}
static int pakfire_builder_submit_stats(sd_event_source* event, uint64_t usec, void* data) {
- struct pakfire_builder* self = data;
+ pakfire_builder* self = data;
struct pakfire_cpustat cpustat = {};
struct pakfire_loadavg loadavg = {};
struct pakfire_meminfo meminfo = {};
}
int pakfire_builder_connected(struct pakfire_xfer* xfer, void* data) {
- struct pakfire_builder* self = data;
+ pakfire_builder* self = data;
int r;
DEBUG(self->ctx, "Builder connected\n");
be established or was interrupted. It will try to reconnect.
*/
int pakfire_builder_close(struct pakfire_xfer* xfer, int code, void* data) {
- struct pakfire_builder* self = data;
+ pakfire_builder* self = data;
int r;
// Log action
// Jobs
static struct pakfire_job* pakfire_builder_find_job(
- struct pakfire_builder* self, const char* job_id) {
+ pakfire_builder* self, const char* job_id) {
// Walk through all jobs
for (unsigned int i = 0; i < MAX_JOBS; i++) {
if (!self->jobs[i])
/*
Terminates all running jobs
*/
-int pakfire_builder_terminate_jobs(struct pakfire_builder* self) {
+int pakfire_builder_terminate_jobs(pakfire_builder* self) {
int r;
for (unsigned int i = 0; i < MAX_JOBS; i++) {
/*
Called after a job has exited
*/
-int pakfire_builder_job_finished(struct pakfire_builder* self, struct pakfire_job* job) {
+int pakfire_builder_job_finished(pakfire_builder* self, struct pakfire_job* job) {
int r;
DEBUG(self->ctx, "Removing job %p\n", job);
Called when we have received a message for a specific job
*/
static int pakfire_builder_handle_job_message(
- struct pakfire_builder* self, const char* job_id, struct json_object* message) {
+ pakfire_builder* self, const char* job_id, struct json_object* message) {
struct pakfire_job* job = NULL;
int r;
/*
Called when a new job has been received
*/
-static int pakfire_builder_job(struct pakfire_builder* self, json_object* m) {
+static int pakfire_builder_job(pakfire_builder* self, json_object* m) {
struct json_object* data = NULL;
struct pakfire_job* job = NULL;
int r;
}
-static int pakfire_builder_handle_message(struct pakfire_builder* self, struct json_object* message) {
+static int pakfire_builder_handle_message(pakfire_builder* self, struct json_object* message) {
const char* job_id = NULL;
const char* type = NULL;
int r;
int pakfire_builder_recv(struct pakfire_xfer* xfer,
const char* message, const size_t size, void* data) {
- struct pakfire_builder* self = data;
+ pakfire_builder* self = data;
struct json_object* m = NULL;
char* error = NULL;
int r;
}
int pakfire_builder_send(struct pakfire_xfer* xfer, void* data) {
- struct pakfire_builder* self = data;
+ pakfire_builder* self = data;
// Stream logs
return pakfire_builder_stream_logs(self);
}
-int pakfire_builder_send_message(struct pakfire_builder* self, struct json_object* message) {
+int pakfire_builder_send_message(pakfire_builder* self, struct json_object* message) {
const char* m = NULL;
size_t length = 0;
int r;
This function calls each running job which will only send one line
at a time to ensure that one job will not take the entire bandwidth.
*/
-int pakfire_builder_stream_logs(struct pakfire_builder* self) {
+int pakfire_builder_stream_logs(pakfire_builder* self) {
unsigned int lines;
int r;
#ifndef PAKFIRE_BUILDER_H
#define PAKFIRE_BUILDER_H
-struct pakfire_builder;
+typedef struct pakfire_builder pakfire_builder;
// json-c
#include <json.h>
#include <pakfire/job.h>
#include <pakfire/xfer.h>
-int pakfire_builder_create(struct pakfire_builder** builder,
+int pakfire_builder_create(pakfire_builder** builder,
pakfire_ctx* ctx, pakfire_client* client);
-struct pakfire_builder* pakfire_builder_ref(struct pakfire_builder* self);
-struct pakfire_builder* pakfire_builder_unref(struct pakfire_builder* self);
+pakfire_builder* pakfire_builder_ref(pakfire_builder* self);
+pakfire_builder* pakfire_builder_unref(pakfire_builder* self);
// Connect
-int pakfire_builder_connect(struct pakfire_builder* self);
+int pakfire_builder_connect(pakfire_builder* self);
// Socket Callbacks
int pakfire_builder_connected(struct pakfire_xfer* xfer, void* data);
int pakfire_builder_recv(struct pakfire_xfer* xfer, const char* message, const size_t size, void* data);
int pakfire_builder_send(struct pakfire_xfer* xfer, void* data);
-int pakfire_builder_send_message(struct pakfire_builder* self, struct json_object* message);
+int pakfire_builder_send_message(pakfire_builder* self, struct json_object* message);
// Jobs
-int pakfire_builder_terminate_jobs(struct pakfire_builder* self);
-int pakfire_builder_job_finished(struct pakfire_builder* self, struct pakfire_job* job);
+int pakfire_builder_terminate_jobs(pakfire_builder* self);
+int pakfire_builder_job_finished(pakfire_builder* self, struct pakfire_job* job);
// Stream Logs
-int pakfire_builder_stream_logs(struct pakfire_builder* self);
+int pakfire_builder_stream_logs(pakfire_builder* self);
#endif /* PAKFIRE_BUILDER_H */