summaryrefslogtreecommitdiff
path: root/src/inc_soq/AV_feedback.h
blob: 14331163728712932dbdf6f6a53a542b049fb87c (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#ifndef _AVPROG_FEEDBACK_H_
#define _AVPROG_FEEDBACK_H_

#ifndef __cplusplus
#error("This file should be compiled with C++ compiler")
#endif

#include "AV_types.h"

#define	SOFT_LOAD_FXQD	0x00
#define	SOFT_LOAD_FXHD	0x01


#define META_FLAG_DUMP_ORIGION 		0x01		//��¼��Ŀԭʼ�ļ�
#define META_FLAG_DUMP_DECODED 		0x02		//��¼��Ŀ�������ļ�
#define META_FLAG_DUMP_SEND_MSG		0x04		//���ͼ�⽨��


// Data_flag defination

//meta info's option type
#define	META_OPT_TYPE_HTTP_CNT	0x51
#define	META_OPT_LAYER_ADDR		0x52	//opt value is const struct layer_addr* addr
#define	META_OPT_TYPE_URL		0x61
#define META_OPT_ETAG 			0x62
#define META_OPT_LAST_MODIFY 	0x63
#define META_OPT_REFERER 		0x64   
#define META_OPT_USER_AGENT 	0x65 
#define META_OPT_C2S_CONT_TYPE	0x66  
#define META_OPT_S2C_CONT_TYPE 	0x67
#define META_OPT_SINGLE_KEY 	0x68
#define	META_OPT_OPEN_OFFSET	0x69
#define	META_OPT_SERVER		0x6A
#define	META_OPT_CONT_TYPE	0x6B


 
#define META_OPT_SERVICE_ID 	0x71  /*��Ƭ��ʹ��*/
#define META_OPT_C2S_CONT 		0x72  
#define META_OPT_S2C_CONT 		0x73
#define META_OPT_CONT_DISPOSITION 0x74 

#define META_OPT_SIP_DIADATA_ID	0x81 
#define META_OPT_SIP_DATA_DIR	0x82
#define META_OPT_SIP_RATE_INFO	0x83


typedef struct _dropRdate
{
	unsigned long long meta_num;
	unsigned long long meta_resend_num;
	float meta_resend_rate;
	unsigned long long meta_active_prog;
	unsigned long long pkt_num;
	unsigned long long pkt_resend_num;
	float pkt_resend_rate;
	unsigned long long pkt_ack;
	unsigned long long pkt_preack;
	unsigned long long drop_pkts;
	float drop_rate;
	unsigned long long drop_mem;
	unsigned long long forzened;
	unsigned long long avsend;
	unsigned long long av_dup;
}dropRdate_t;


struct media_info_t
{
	PROG_ID_t pid;
	UCHAR protocol;		//define at AV_types.h's AV_PROTOCOL_**
	UCHAR media_type;	//define	at AV_character.h
	UINT64 prog_len:48;
	UCHAR check_flag;	//set META_FLAG_DUMP flag if monitor hit
	UCHAR service;		//directly use struct AV_rule_t 's service
};
//Set service if service action is AV_ACTION_MONIT
int AV_send_media_info(const struct media_info_t* media_info,const struct opt_unit_t* opt,int opt_num,int thread_seq);
int AV_send_data(PROG_ID_t pid,unsigned long long offset, const char * data, unsigned int datalen,
					UCHAR protocol ,int thread_seq,const struct layer_addr* addr);

#define	AV_DST_NORMAL			0
#define	AV_DST_IMAGE_ANALYZER	1
#define	AV_DST_FRAGMENT_QUERY	2
#define	AV_DST_APP				3
#define	AV_DST_VOIP				4

//AV_send_media_info_to specify the destination type by parameter DST,which is defined like AV_DST_**
int AV_send_media_info_to(char DST,const struct media_info_t* media_info,const struct opt_unit_t* opt,int opt_num,int thread_seq);
int AV_send_data_to(char DST,PROG_ID_t pid,unsigned long long offset, const char * data, unsigned int datalen,
							UCHAR protocol ,int thread_seq, const struct layer_addr* addr);


int  SendLiveCheckMsg();//ONLY used by AV master controller

#endif