6
6
#include < stdio.h>
7
7
#include < chrono>
8
8
#include < fstream>
9
- #include < thread>
10
9
#include < errno.h>
11
10
#include < cxxabi.h>
12
11
#include " string.h"
@@ -35,6 +34,8 @@ extern int zerrno;
35
34
*/
36
35
#define MAX_PUBLISHERS_COUNT 1000
37
36
37
+ extern int running_ut;
38
+
38
39
39
40
/* TODO: Combine two SWSS_LOG_ERROR into one */
40
41
#define RET_ON_ERR (res, msg, ...)\
@@ -43,6 +44,9 @@ extern int zerrno;
43
44
zerrno = zmq_errno (); \
44
45
SWSS_LOG_ERROR (msg, ##__VA_ARGS__); \
45
46
SWSS_LOG_ERROR (" last:errno=%d zerr=%d" , _e, zerrno); \
47
+ if (running_ut) { \
48
+ printf (msg, ##__VA_ARGS__); \
49
+ printf (" last:errno=%d zerr=%d\n " , _e, zerrno); }\
46
50
goto out; }
47
51
48
52
#define ERR_CHECK (res, ...) {\
@@ -243,9 +247,10 @@ zmsg_to_map(zmq_msg_t &msg, Map& data)
243
247
* First part only has the event source, so receivers could
244
248
* filter by source.
245
249
*
246
- * Second part contains map as defined in internal_event_t.
247
- * The map is serialized and sent as string.
248
- *
250
+ * Second part contains serialized form of map as defined in internal_event_t.
251
+ * The map is serialized and sent as string events_data_type_t.
252
+ * Caching that handles of set of events, handleas ordered events
253
+ * as declared in events_data_lst_t.
249
254
*/
250
255
/*
251
256
* This is data going over wire and using cache. So be conservative
@@ -261,10 +266,12 @@ typedef map<string, string> internal_event_t;
261
266
typedef uint32_t sequence_t ;
262
267
typedef string runtime_id_t ;
263
268
264
- internal_event_t internal_event_ref = {
265
- { EVENT_STR_DATA, " " },
266
- { EVENT_RUNTIME_ID, " " },
267
- { EVENT_SEQUENCE, " " } };
269
+ /*
270
+ * internal_event_t internal_event_ref = {
271
+ * { EVENT_STR_DATA, "" },
272
+ * { EVENT_RUNTIME_ID, "" },
273
+ * { EVENT_SEQUENCE, "" } };
274
+ */
268
275
269
276
/* ZMQ message part 2 contains serialized version of internal_event_t */
270
277
typedef string events_data_type_t ;
@@ -273,7 +280,7 @@ typedef vector<events_data_type_t> events_data_lst_t;
273
280
274
281
template <typename DT>
275
282
int
276
- zmq_read_part (void *sock, int flag, int &more, DT data)
283
+ zmq_read_part (void *sock, int flag, int &more, DT & data)
277
284
{
278
285
zmq_msg_t msg;
279
286
@@ -298,15 +305,15 @@ zmq_read_part(void *sock, int flag, int &more, DT data)
298
305
299
306
template <typename DT>
300
307
int
301
- zmq_send_part (void *sock, int flag, DT data)
308
+ zmq_send_part (void *sock, int flag, DT & data)
302
309
{
303
310
zmq_msg_t msg;
304
311
305
312
int rc = map_to_zmsg (data, msg);
306
- RET_ON_ERR (rc == 0 , " Failed to map to zmsg %d" , 5 );
313
+ RET_ON_ERR (rc == 0 , " Failed to map to zmsg %d" , rc );
307
314
308
315
rc = zmq_msg_send (&msg, sock, flag);
309
- RET_ON_ERR (rc != -1 , " Failed to send part %d" , 5 );
316
+ RET_ON_ERR (rc != -1 , " Failed to send part %d" , rc );
310
317
311
318
rc = 0 ;
312
319
out:
@@ -316,7 +323,7 @@ zmq_send_part(void *sock, int flag, DT data)
316
323
317
324
template <typename P1, typename P2>
318
325
int
319
- zmq_message_send (void *sock, P1 pt1, P2 pt2)
326
+ zmq_message_send (void *sock, P1 & pt1, P2 & pt2)
320
327
{
321
328
int rc = zmq_send_part (sock, pt2.empty () ? 0 : ZMQ_SNDMORE, pt1);
322
329
@@ -330,7 +337,7 @@ zmq_message_send(void *sock, P1 pt1, P2 pt2)
330
337
331
338
template <typename P1, typename P2>
332
339
int
333
- zmq_message_read (void *sock, int flag, P1 pt1, P2 pt2)
340
+ zmq_message_read (void *sock, int flag, P1 & pt1, P2 & pt2)
334
341
{
335
342
int more = 0 , rc, rc1;
336
343
0 commit comments