Skip to content

Commit c865ee9

Browse files
sodomelleHofiOne
authored andcommitted
lib: move signal_slot_connector from LogPipe to LogDriver
Signed-off-by: László Várady <[email protected]> Signed-off-by: Hofi <[email protected]>
1 parent 9010409 commit c865ee9

File tree

14 files changed

+52
-70
lines changed

14 files changed

+52
-70
lines changed

lib/driver.c

+5
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ log_driver_free(LogPipe *s)
135135
g_free(self->group);
136136
if (self->id)
137137
g_free(self->id);
138+
139+
signal_slot_connector_free(self->signal_slot_connector);
140+
138141
log_pipe_free_method(s);
139142
}
140143

@@ -149,6 +152,8 @@ log_driver_init_instance(LogDriver *self, GlobalConfig *cfg)
149152
self->super.init = log_driver_init_method;
150153
self->super.deinit = log_driver_deinit_method;
151154
self->super.post_deinit = log_driver_post_deinit_method;
155+
156+
self->signal_slot_connector = signal_slot_connector_new();
152157
}
153158

154159
/* LogSrcDriver */

lib/driver.h

+3
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ struct _LogDriver
113113
gboolean optional;
114114
gchar *group;
115115
gchar *id;
116+
117+
SignalSlotConnector *signal_slot_connector;
118+
116119
GList *plugins;
117120

118121
StatsCounterItem *processed_group_messages;

lib/logpipe.c

-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ log_pipe_init_instance(LogPipe *self, GlobalConfig *cfg)
126126
self->pipe_next = NULL;
127127
self->persist_name = NULL;
128128
self->plugin_name = NULL;
129-
self->signal_slot_connector = signal_slot_connector_new();
130129

131130
self->queue = log_pipe_forward_msg;
132131
self->free_fn = log_pipe_free_method;
@@ -168,7 +167,6 @@ _free(LogPipe *self)
168167
g_free((gpointer)self->persist_name);
169168
g_free(self->plugin_name);
170169
g_list_free_full(self->info, g_free);
171-
signal_slot_connector_unref(self->signal_slot_connector);
172170
g_free(self);
173171
}
174172

lib/logpipe.h

-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
#include "cfg.h"
3232
#include "atomic.h"
3333
#include "messages.h"
34-
#include "signal-slot-connector/signal-slot-connector.h"
3534

3635
/* notify code values */
3736
#define NC_CLOSE 1
@@ -311,7 +310,6 @@ struct _LogPipe
311310
StatsCounterItem *discarded_messages;
312311
const gchar *persist_name;
313312
gchar *plugin_name;
314-
SignalSlotConnector *signal_slot_connector;
315313
LogPipeOptions options;
316314

317315
gboolean (*pre_init)(LogPipe *self);

modules/afsocket/afinet-dest.c

+5-5
Original file line numberDiff line numberDiff line change
@@ -230,10 +230,10 @@ void
230230
afinet_dd_setup_tls_verifier(AFInetDestDriver *self)
231231
{
232232
TransportMapperInet *transport_mapper_inet = (TransportMapperInet *) self->super.transport_mapper;
233-
SignalSlotConnector *slot_connector = self->super.super.super.super.signal_slot_connector;
234-
AFInetDestDriverTLSVerifyData *verify_data = afinet_dd_tls_verify_data_new(transport_mapper_inet->tls_context,
235-
_afinet_dd_get_hostname(self),
236-
slot_connector);
233+
234+
AFInetDestDriverTLSVerifyData *verify_data;
235+
verify_data = afinet_dd_tls_verify_data_new(transport_mapper_inet->tls_context, _afinet_dd_get_hostname(self),
236+
self->super.super.super.signal_slot_connector);
237237
TLSVerifier *verifier = tls_verifier_new(afinet_dd_verify_callback, verify_data, afinet_dd_tls_verify_data_free);
238238

239239
transport_mapper_inet_set_tls_verifier(transport_mapper_inet, verifier);
@@ -735,7 +735,7 @@ afinet_dd_restore_connection(AFSocketDestDriver *s, AFSocketDestKeptAliveConnect
735735
{
736736
TLSSession *session = log_tansport_tls_get_session(transport);
737737
AFInetDestDriverTLSVerifyData *verify_data = _get_tls_verify_data (session->verifier);
738-
verify_data->signal_connector = self->super.super.super.super.signal_slot_connector;
738+
verify_data->signal_connector = self->super.super.super.signal_slot_connector;
739739
}
740740

741741
exit:

modules/afsocket/afsocket-source.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,7 @@ afsocket_sd_open_socket(AFSocketSourceDriver *self, gint *sock)
10711071
AFSocketSetupSocketSignalData signal_data = {0};
10721072

10731073
signal_data.sock = *sock;
1074-
EMIT(self->super.super.super.signal_slot_connector, signal_afsocket_setup_socket, &signal_data);
1074+
EMIT(self->super.super.signal_slot_connector, signal_afsocket_setup_socket, &signal_data);
10751075
return !signal_data.failure;
10761076
}
10771077

modules/azure-auth-header/azure-auth-header.c

+5-11
Original file line numberDiff line numberDiff line change
@@ -181,14 +181,12 @@ _attach(LogDriverPlugin *s, LogDriver *driver)
181181
{
182182
AzureAuthHeaderPlugin *self = (AzureAuthHeaderPlugin *)s;
183183

184-
g_assert(s->signal_connector == NULL);
185-
s->signal_connector = signal_slot_connector_ref(driver->super.signal_slot_connector);
186-
184+
SignalSlotConnector *ssc = driver->signal_slot_connector;
187185
msg_debug("AzureAuthHeaderPlugin::attach()",
188-
evt_tag_printf("SignalSlotConnector", "%p", s->signal_connector),
186+
evt_tag_printf("SignalSlotConnector", "%p", scc),
189187
evt_tag_printf("AzureAuthHeaderPlugin", "%p", s));
190188

191-
CONNECT(s->signal_connector, signal_http_header_request, _slot_append_headers, self);
189+
CONNECT(scc, signal_http_header_request, _slot_append_headers, self);
192190

193191
return TRUE;
194192
}
@@ -198,10 +196,8 @@ _detach(LogDriverPlugin *s, LogDriver *driver)
198196
{
199197
AzureAuthHeaderPlugin *self = (AzureAuthHeaderPlugin *)s;
200198

201-
DISCONNECT(s->signal_connector, signal_http_header_request, _slot_append_headers, self);
202-
203-
signal_slot_connector_unref(s->signal_connector);
204-
s->signal_connector = NULL;
199+
SignalSlotConnector *ssc = driver->signal_slot_connector;
200+
DISCONNECT(ssc, signal_http_header_request, _slot_append_headers, self);
205201
}
206202

207203
static void
@@ -230,5 +226,3 @@ azure_auth_header_plugin_new(void)
230226

231227
return self;
232228
}
233-
234-

modules/cloud-auth/cloud-auth.c

+4-10
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,8 @@ _attach(LogDriverPlugin *s, LogDriver *d)
4040
if (!cloud_authenticator_init(self->authenticator))
4141
return FALSE;
4242

43-
g_assert(s->signal_connector == NULL);
44-
s->signal_connector = signal_slot_connector_ref(driver->super.super.signal_slot_connector);
45-
46-
CONNECT(s->signal_connector, signal_http_header_request, cloud_authenticator_handle_http_header_request,
47-
self->authenticator);
43+
SignalSlotConnector *ssc = driver->super.signal_slot_connector;
44+
CONNECT(ssc, signal_http_header_request, cloud_authenticator_handle_http_header_request, self->authenticator);
4845

4946
return TRUE;
5047
}
@@ -56,11 +53,8 @@ _detach(LogDriverPlugin *s, LogDriver *d)
5653

5754
cloud_authenticator_deinit(self->authenticator);
5855

59-
DISCONNECT(s->signal_connector, signal_http_header_request, cloud_authenticator_handle_http_header_request,
60-
self->authenticator);
61-
62-
signal_slot_connector_unref(s->signal_connector);
63-
s->signal_connector = NULL;
56+
SignalSlotConnector *ssc = driver->super.signal_slot_connector;
57+
DISCONNECT(ssc, signal_http_header_request, cloud_authenticator_handle_http_header_request, self->authenticator);
6458
}
6559

6660
void

modules/ebpf/ebpf-reuseport.c

+4-7
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,8 @@ _attach(LogDriverPlugin *s, LogDriver *driver)
7676
}
7777
self->random->bss->number_of_sockets = self->number_of_sockets;
7878

79-
g_assert(s->signal_connector == NULL);
80-
s->signal_connector = signal_slot_connector_ref(driver->super.signal_slot_connector);
81-
82-
CONNECT(s->signal_connector, signal_afsocket_setup_socket, _slot_setup_socket, self);
79+
SignalSlotConnector *ssc = driver->signal_slot_connector;
80+
CONNECT(ssc, signal_afsocket_setup_socket, _slot_setup_socket, self);
8381

8482
return TRUE;
8583
}
@@ -89,9 +87,8 @@ _detach(LogDriverPlugin *s, LogDriver *driver)
8987
{
9088
EBPFReusePort *self = (EBPFReusePort *)s;
9189

92-
DISCONNECT(s->signal_connector, signal_afsocket_setup_socket, _slot_setup_socket, self);
93-
signal_slot_connector_unref(s->signal_connector);
94-
s->signal_connector = NULL;
90+
SignalSlotConnector *ssc = driver->signal_slot_connector;
91+
DISCONNECT(ssc, signal_afsocket_setup_socket, _slot_setup_socket, self);
9592
}
9693

9794
static void

modules/examples/inner-destinations/http-test-slots/http-test-slots.c

+7-9
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,25 @@ _slot_append_test_headers(HttpTestSlotsPlugin *self, HttpHeaderRequestSignalData
4848
static gboolean
4949
_attach(LogDriverPlugin *s, LogDriver *driver)
5050
{
51-
g_assert(s->signal_connector == NULL);
52-
s->signal_connector = signal_slot_connector_ref(driver->super.signal_slot_connector);
51+
SignalSlotConnector *ssc = driver->signal_slot_connector;
5352

5453
msg_debug("HttpTestSlotsPlugin::attach()",
55-
evt_tag_printf("SignalSlotConnector", "%p", s->signal_connector));
54+
evt_tag_printf("SignalSlotConnector", "%p", scc));
5655

57-
CONNECT(s->signal_connector, signal_http_header_request, _slot_append_test_headers, s);
56+
CONNECT(scc, signal_http_header_request, _slot_append_test_headers, s);
5857

5958
return TRUE;
6059
}
6160

6261
static void
6362
_detach(LogDriverPlugin *s, LogDriver *driver)
6463
{
65-
msg_debug("HttpTestSlotsPlugin::detach()",
66-
evt_tag_printf("SignalSlotConnector", "%p", s->signal_connector));
64+
SignalSlotConnector *ssc = driver->signal_slot_connector;
6765

68-
DISCONNECT(s->signal_connector, signal_http_header_request, _slot_append_test_headers, s);
66+
msg_debug("HttpTestSlotsPlugin::detach()",
67+
evt_tag_printf("SignalSlotConnector", "%p", scc));
6968

70-
signal_slot_connector_unref(s->signal_connector);
71-
s->signal_connector = NULL;
69+
DISCONNECT(scc, signal_http_header_request, _slot_append_test_headers, s);
7270
}
7371

7472
static void

modules/examples/inner-destinations/tls-test-validation/tls-test-validation.c

+7-9
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,25 @@ _slot_append_test_identity(TlsTestValidationPlugin *self, AFSocketTLSCertificate
5252
static gboolean
5353
_attach(LogDriverPlugin *s, LogDriver *driver)
5454
{
55-
g_assert(s->signal_connector == NULL);
56-
s->signal_connector = signal_slot_connector_ref(driver->super.signal_slot_connector);
55+
SignalSlotConnector *ssc = driver->signal_slot_connector;
5756

5857
msg_debug("TlsTestValidationPlugin::attach()",
59-
evt_tag_printf("SignalSlotConnector", "%p", s->signal_connector));
58+
evt_tag_printf("SignalSlotConnector", "%p", scc));
6059

61-
CONNECT(s->signal_connector, signal_afsocket_tls_certificate_validation, _slot_append_test_identity, s);
60+
CONNECT(scc, signal_afsocket_tls_certificate_validation, _slot_append_test_identity, s);
6261

6362
return TRUE;
6463
}
6564

6665
static void
6766
_detach(LogDriverPlugin *s, LogDriver *driver)
6867
{
69-
msg_debug("TlsTestValidationPlugin::detach()",
70-
evt_tag_printf("SignalSlotConnector", "%p", s->signal_connector));
68+
SignalSlotConnector *ssc = driver->signal_slot_connector;
7169

72-
DISCONNECT(s->signal_connector, signal_afsocket_tls_certificate_validation, _slot_append_test_identity, s);
70+
msg_debug("TlsTestValidationPlugin::detach()",
71+
evt_tag_printf("SignalSlotConnector", "%p", scc));
7372

74-
signal_slot_connector_unref(s->signal_connector);
75-
s->signal_connector = NULL;
73+
DISCONNECT(scc, signal_afsocket_tls_certificate_validation, _slot_append_test_identity, s);
7674
}
7775

7876
static void

modules/http/http-worker.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ _collect_rest_headers(HTTPDestinationWorker *self, GError **error)
354354

355355
HTTPDestinationDriver *owner = (HTTPDestinationDriver *) self->super.owner;
356356

357-
EMIT(owner->super.super.super.super.signal_slot_connector, signal_http_header_request, &signal_data);
357+
EMIT(owner->super.super.super.signal_slot_connector, signal_http_header_request, &signal_data);
358358

359359
_set_error_from_slot_result(signal_http_header_request, signal_data.result, error);
360360
}
@@ -784,7 +784,7 @@ _flush_on_target(HTTPDestinationWorker *self, const gchar *url)
784784
.http_code = http_code
785785
};
786786

787-
EMIT(owner->super.super.super.super.signal_slot_connector, signal_http_response_received, &signal_data);
787+
EMIT(owner->super.super.super.signal_slot_connector, signal_http_response_received, &signal_data);
788788

789789
if (signal_data.result == HTTP_SLOT_RESOLVED)
790790
{

modules/http/tests/test_http-signal_slot.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ _check(const gchar *expected_body, HttpHeaderRequestSignalData *data)
104104

105105
Test(test_http_signal_slot, basic)
106106
{
107-
SignalSlotConnector *ssc = driver->super.super.super.super.signal_slot_connector;
107+
SignalSlotConnector *ssc = driver->super.super.super.signal_slot_connector;
108108

109109
const gchar *test_msg = "test message";
110110
CONNECT(ssc, signal_http_header_request, _check, test_msg);
@@ -123,7 +123,7 @@ Test(test_http_signal_slot, single_with_prefix_suffix)
123123
http_dd_set_body_suffix((LogDriver *)driver, "]");
124124
http_dd_set_delimiter((LogDriver *)driver, ",");
125125

126-
SignalSlotConnector *ssc = driver->super.super.super.super.signal_slot_connector;
126+
SignalSlotConnector *ssc = driver->super.super.super.signal_slot_connector;
127127

128128
CONNECT(ssc, signal_http_header_request, _check, "[almafa]");
129129

@@ -143,7 +143,7 @@ Test(test_http_signal_slot, batch_with_prefix_suffix)
143143
log_threaded_dest_driver_set_batch_lines((LogDriver *)driver, 2);
144144
log_threaded_dest_driver_set_batch_timeout((LogDriver *)driver, 1000);
145145

146-
SignalSlotConnector *ssc = driver->super.super.super.super.signal_slot_connector;
146+
SignalSlotConnector *ssc = driver->super.super.super.signal_slot_connector;
147147

148148
CONNECT(ssc, signal_http_header_request, _check, "[1,2]");
149149

modules/python/python-http-header.c

+6-9
Original file line numberDiff line numberDiff line change
@@ -382,11 +382,10 @@ _attach(LogDriverPlugin *s, LogDriver *driver)
382382
return FALSE;
383383
}
384384

385-
g_assert(s->signal_connector == NULL);
386-
s->signal_connector = signal_slot_connector_ref(driver->super.signal_slot_connector);
385+
SignalSlotConnector *ssc = driver->signal_slot_connector;
387386

388-
CONNECT(s->signal_connector, signal_http_header_request, _append_headers, self);
389-
CONNECT(s->signal_connector, signal_http_response_received, _on_http_response_received, self);
387+
CONNECT(scc, signal_http_header_request, _append_headers, self);
388+
CONNECT(scc, signal_http_response_received, _on_http_response_received, self);
390389

391390
return TRUE;
392391
}
@@ -395,12 +394,10 @@ static void
395394
_detach(LogDriverPlugin *s, LogDriver *driver)
396395
{
397396
PythonHttpHeaderPlugin *self = (PythonHttpHeaderPlugin *) s;
397+
SignalSlotConnector *ssc = driver->signal_slot_connector;
398398

399-
DISCONNECT(s->signal_connector, signal_http_header_request, _append_headers, self);
400-
DISCONNECT(s->signal_connector, signal_http_response_received, _on_http_response_received, self);
401-
402-
signal_slot_connector_unref(s->signal_connector);
403-
s->signal_connector = NULL;
399+
DISCONNECT(scc, signal_http_header_request, _append_headers, self);
400+
DISCONNECT(scc, signal_http_response_received, _on_http_response_received, self);
404401

405402
python_binding_deinit(&self->binding);
406403
}

0 commit comments

Comments
 (0)