summaryrefslogtreecommitdiff
path: root/src/objectscanner_kafka.h
blob: 14a43dca6777deda4c786869202e26fc960fc517 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef __OBJECT_SCANNER_KAFKA_H__
#define __OBJECT_SCANNER_KAFKA_H__

#include "cJSON.h"

#include "object_store_client.h"

enum MESSAGE_PROC_STATE
{
	MESSAGE_SUCC=0,
	MESSAGE_HITTED,
	MESSAGE_RCV_ERROR,
	MESSAGE_DROP,
	MESSAGE_NOT_EXIST,
	MESSAGE_ANLY_FAIL,
	MESSAGE_OTH_FAIL,

	MESSAGE_STATE_NUM,
};

struct objscan_statistics
{
	long num[MESSAGE_STATE_NUM];
};

typedef struct __message_meta_item
{
	cJSON *meta_json;
	char object_uri[256];
	time_t found_time;
	
	struct future * future;
	char *content;
	size_t current_len;
	size_t max_len;
	size_t object_size;
	int32_t hitted;
}message_meta_item_t;

int32_t rdkafka_consumer_init(void);
int32_t rdkafka_producer_init(void);

void destroy_parsed_message(message_meta_item_t *message);

void* thread_delay_msg_queue(void *arg);
void* thread_recv_kafka_msg(void *arg);

#endif