40
40
#include "Zend/zend_exceptions.h"
41
41
#include "consumer_arginfo.h"
42
42
43
- typedef struct _object_intern {
44
- rd_kafka_t * rk ;
45
- kafka_conf_callbacks cbs ;
46
- zend_object std ;
47
- } object_intern ;
48
-
49
43
static zend_class_entry * ce ;
50
44
static zend_object_handlers handlers ;
51
45
52
46
static void kafka_consumer_free (zend_object * object ) /* {{{ */
53
47
{
54
- object_intern * intern = php_kafka_from_obj (object_intern , object );
48
+ kafka_object * intern = php_kafka_from_obj (kafka_object , object );
55
49
rd_kafka_resp_err_t err ;
56
50
kafka_conf_callbacks_dtor (& intern -> cbs );
57
51
@@ -75,9 +69,9 @@ static void kafka_consumer_free(zend_object *object) /* {{{ */
75
69
static zend_object * kafka_consumer_new (zend_class_entry * class_type ) /* {{{ */
76
70
{
77
71
zend_object * retval ;
78
- object_intern * intern ;
72
+ kafka_object * intern ;
79
73
80
- intern = ecalloc (1 , sizeof (object_intern )+ zend_object_properties_size (class_type ));
74
+ intern = ecalloc (1 , sizeof (kafka_object )+ zend_object_properties_size (class_type ));
81
75
zend_object_std_init (& intern -> std , class_type );
82
76
object_properties_init (& intern -> std , class_type );
83
77
@@ -88,18 +82,6 @@ static zend_object *kafka_consumer_new(zend_class_entry *class_type) /* {{{ */
88
82
}
89
83
/* }}} */
90
84
91
- static object_intern * get_object (zval * zconsumer ) /* {{{ */
92
- {
93
- object_intern * oconsumer = Z_KAFKA_P (object_intern , zconsumer );
94
-
95
- if (!oconsumer -> rk ) {
96
- zend_throw_exception_ex (NULL , 0 , "SimpleKafkaClient\\Consumer::__construct() has not been called" );
97
- return NULL ;
98
- }
99
-
100
- return oconsumer ;
101
- } /* }}} */
102
-
103
85
static int has_group_id (rd_kafka_conf_t * conf ) { /* {{{ */
104
86
105
87
size_t len ;
@@ -125,15 +107,15 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, __construct)
125
107
zval * zconf ;
126
108
char errstr [512 ];
127
109
rd_kafka_t * rk ;
128
- object_intern * intern ;
110
+ kafka_object * intern ;
129
111
kafka_conf_object * conf_intern ;
130
112
rd_kafka_conf_t * conf = NULL ;
131
113
132
114
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 1 , 1 )
133
115
Z_PARAM_OBJECT_OF_CLASS (zconf , ce_kafka_conf )
134
116
ZEND_PARSE_PARAMETERS_END ();
135
117
136
- intern = Z_KAFKA_P (object_intern , getThis ());
118
+ intern = Z_KAFKA_P (kafka_object , getThis ());
137
119
138
120
conf_intern = get_kafka_conf_object (zconf );
139
121
if (conf_intern ) {
@@ -175,7 +157,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, assign)
175
157
HashTable * htopars = NULL ;
176
158
rd_kafka_topic_partition_list_t * topics ;
177
159
rd_kafka_resp_err_t err ;
178
- object_intern * intern ;
160
+ kafka_object * intern ;
179
161
180
162
if (zend_parse_parameters (ZEND_NUM_ARGS (), "|h!" , & htopars ) == FAILURE ) {
181
163
return ;
@@ -186,7 +168,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, assign)
186
168
Z_PARAM_ARRAY_HT (htopars )
187
169
ZEND_PARSE_PARAMETERS_END ();
188
170
189
- intern = get_object (getThis ());
171
+ intern = get_kafka_object (getThis ());
190
172
if (!intern ) {
191
173
return ;
192
174
}
@@ -219,12 +201,12 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getAssignment)
219
201
{
220
202
rd_kafka_resp_err_t err ;
221
203
rd_kafka_topic_partition_list_t * topics ;
222
- object_intern * intern ;
204
+ kafka_object * intern ;
223
205
224
206
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 0 , 0 )
225
207
ZEND_PARSE_PARAMETERS_END ();
226
208
227
- intern = get_object (getThis ());
209
+ intern = get_kafka_object (getThis ());
228
210
if (!intern ) {
229
211
return ;
230
212
}
@@ -247,7 +229,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, subscribe)
247
229
{
248
230
HashTable * htopics ;
249
231
HashPosition pos ;
250
- object_intern * intern ;
232
+ kafka_object * intern ;
251
233
rd_kafka_topic_partition_list_t * topics ;
252
234
rd_kafka_resp_err_t err ;
253
235
zval * zv ;
@@ -256,7 +238,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, subscribe)
256
238
Z_PARAM_ARRAY_HT (htopics )
257
239
ZEND_PARSE_PARAMETERS_END ();
258
240
259
- intern = get_object (getThis ());
241
+ intern = get_kafka_object (getThis ());
260
242
if (!intern ) {
261
243
return ;
262
244
}
@@ -287,13 +269,13 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getSubscription)
287
269
{
288
270
rd_kafka_resp_err_t err ;
289
271
rd_kafka_topic_partition_list_t * topics ;
290
- object_intern * intern ;
272
+ kafka_object * intern ;
291
273
int i ;
292
274
293
275
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 0 , 0 )
294
276
ZEND_PARSE_PARAMETERS_END ();
295
277
296
- intern = get_object (getThis ());
278
+ intern = get_kafka_object (getThis ());
297
279
if (!intern ) {
298
280
return ;
299
281
}
@@ -319,13 +301,13 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getSubscription)
319
301
Unsubscribe from the current subscription set */
320
302
ZEND_METHOD (SimpleKafkaClient_Consumer , unsubscribe )
321
303
{
322
- object_intern * intern ;
304
+ kafka_object * intern ;
323
305
rd_kafka_resp_err_t err ;
324
306
325
307
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 0 , 0 )
326
308
ZEND_PARSE_PARAMETERS_END ();
327
309
328
- intern = get_object (getThis ());
310
+ intern = get_kafka_object (getThis ());
329
311
if (!intern ) {
330
312
return ;
331
313
}
@@ -343,15 +325,15 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, unsubscribe)
343
325
Consume message or get error event, triggers callbacks */
344
326
ZEND_METHOD (SimpleKafkaClient_Consumer , consume )
345
327
{
346
- object_intern * intern ;
328
+ kafka_object * intern ;
347
329
zend_long timeout_ms ;
348
330
rd_kafka_message_t * rkmessage , rkmessage_tmp = {0 };
349
331
350
332
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 1 , 1 )
351
333
Z_PARAM_LONG (timeout_ms )
352
334
ZEND_PARSE_PARAMETERS_END ();
353
335
354
- intern = get_object (getThis ());
336
+ intern = get_kafka_object (getThis ());
355
337
if (!intern ) {
356
338
return ;
357
339
}
@@ -374,7 +356,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, consume)
374
356
static void consumer_commit (int async , INTERNAL_FUNCTION_PARAMETERS ) /* {{{ */
375
357
{
376
358
zval * zarg = NULL ;
377
- object_intern * intern ;
359
+ kafka_object * intern ;
378
360
rd_kafka_topic_partition_list_t * offsets = NULL ;
379
361
rd_kafka_resp_err_t err ;
380
362
@@ -383,7 +365,7 @@ static void consumer_commit(int async, INTERNAL_FUNCTION_PARAMETERS) /* {{{ */
383
365
Z_PARAM_ZVAL (zarg )
384
366
ZEND_PARSE_PARAMETERS_END ();
385
367
386
- intern = get_object (getThis ());
368
+ intern = get_kafka_object (getThis ());
387
369
if (!intern ) {
388
370
return ;
389
371
}
@@ -476,12 +458,12 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, commitAsync)
476
458
Close connection */
477
459
ZEND_METHOD (SimpleKafkaClient_Consumer , close )
478
460
{
479
- object_intern * intern ;
461
+ kafka_object * intern ;
480
462
481
463
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 0 , 0 )
482
464
ZEND_PARSE_PARAMETERS_END ();
483
465
484
- intern = get_object (getThis ());
466
+ intern = get_kafka_object (getThis ());
485
467
if (!intern ) {
486
468
return ;
487
469
}
@@ -499,7 +481,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getMetadata)
499
481
zval * only_zrkt = NULL ;
500
482
zend_long timeout_ms ;
501
483
rd_kafka_resp_err_t err ;
502
- object_intern * intern ;
484
+ kafka_object * intern ;
503
485
const rd_kafka_metadata_t * metadata ;
504
486
kafka_topic_object * only_orkt = NULL ;
505
487
@@ -510,7 +492,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getMetadata)
510
492
Z_PARAM_OBJECT_OF_CLASS (only_zrkt , ce_kafka_topic )
511
493
ZEND_PARSE_PARAMETERS_END ();
512
494
513
- intern = get_object (getThis ());
495
+ intern = get_kafka_object (getThis ());
514
496
if (!intern ) {
515
497
return ;
516
498
}
@@ -540,14 +522,14 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getTopicHandle)
540
522
char * topic ;
541
523
size_t topic_len ;
542
524
rd_kafka_topic_t * rkt ;
543
- object_intern * intern ;
525
+ kafka_object * intern ;
544
526
kafka_topic_object * topic_intern ;
545
527
546
528
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 1 , 1 )
547
529
Z_PARAM_STRING (topic , topic_len )
548
530
ZEND_PARSE_PARAMETERS_END ();
549
531
550
- intern = get_object (getThis ());
532
+ intern = get_kafka_object (getThis ());
551
533
if (!intern ) {
552
534
return ;
553
535
}
@@ -577,7 +559,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getCommittedOffsets)
577
559
{
578
560
HashTable * htopars = NULL ;
579
561
zend_long timeout_ms ;
580
- object_intern * intern ;
562
+ kafka_object * intern ;
581
563
rd_kafka_resp_err_t err ;
582
564
rd_kafka_topic_partition_list_t * topics ;
583
565
@@ -586,7 +568,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getCommittedOffsets)
586
568
Z_PARAM_LONG (timeout_ms )
587
569
ZEND_PARSE_PARAMETERS_END ();
588
570
589
- intern = get_object (getThis ());
571
+ intern = get_kafka_object (getThis ());
590
572
if (!intern ) {
591
573
return ;
592
574
}
@@ -615,15 +597,15 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getCommittedOffsets)
615
597
ZEND_METHOD (SimpleKafkaClient_Consumer , getOffsetPositions )
616
598
{
617
599
HashTable * htopars = NULL ;
618
- object_intern * intern ;
600
+ kafka_object * intern ;
619
601
rd_kafka_resp_err_t err ;
620
602
rd_kafka_topic_partition_list_t * topics ;
621
603
622
604
ZEND_PARSE_PARAMETERS_START_EX (ZEND_PARSE_PARAMS_THROW , 1 , 1 )
623
605
Z_PARAM_ARRAY_HT (htopars )
624
606
ZEND_PARSE_PARAMETERS_END ();
625
607
626
- intern = get_object (getThis ());
608
+ intern = get_kafka_object (getThis ());
627
609
if (!intern ) {
628
610
return ;
629
611
}
@@ -650,7 +632,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, getOffsetPositions)
650
632
ZEND_METHOD (SimpleKafkaClient_Consumer , offsetsForTimes )
651
633
{
652
634
HashTable * htopars = NULL ;
653
- object_intern * intern ;
635
+ kafka_object * intern ;
654
636
rd_kafka_topic_partition_list_t * topicPartitions ;
655
637
zend_long timeout_ms ;
656
638
rd_kafka_resp_err_t err ;
@@ -660,7 +642,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, offsetsForTimes)
660
642
Z_PARAM_LONG (timeout_ms )
661
643
ZEND_PARSE_PARAMETERS_END ();
662
644
663
- intern = get_object (getThis ());
645
+ intern = get_kafka_object (getThis ());
664
646
if (!intern ) {
665
647
return ;
666
648
}
@@ -686,7 +668,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, offsetsForTimes)
686
668
Query broker for low (oldest/beginning) or high (newest/end) offsets for partition */
687
669
ZEND_METHOD (SimpleKafkaClient_Consumer , queryWatermarkOffsets )
688
670
{
689
- object_intern * intern ;
671
+ kafka_object * intern ;
690
672
char * topic ;
691
673
size_t topic_length ;
692
674
long low , high ;
@@ -705,7 +687,7 @@ ZEND_METHOD(SimpleKafkaClient_Consumer, queryWatermarkOffsets)
705
687
ZVAL_DEREF (lowResult );
706
688
ZVAL_DEREF (highResult );
707
689
708
- intern = get_object (getThis ());
690
+ intern = get_kafka_object (getThis ());
709
691
if (!intern ) {
710
692
return ;
711
693
}
@@ -732,5 +714,5 @@ void kafka_consumer_init(INIT_FUNC_ARGS) /* {{{ */
732
714
733
715
handlers = kafka_default_object_handlers ;
734
716
handlers .free_obj = kafka_consumer_free ;
735
- handlers .offset = XtOffsetOf (object_intern , std );
717
+ handlers .offset = XtOffsetOf (kafka_object , std );
736
718
}
0 commit comments