socket_retransmit_timing2_protocol_handler.h

来自「程序实现了在ip协议之上加一层RUDP协议」· C头文件 代码 · 共 70 行

H
70
字号
// SOCKET_ReTransmit_Timing2_Protocol_Handler.h: interface for the SOCKET_ReTransmit_Timing2_Protocol_Handler class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SOCKET_RETRANSMIT_TIMING2_PROTOCOL_HANDLER_H__A526B365_C490_4660_8B7F_79DA85DFBA54__INCLUDED_)
#define AFX_SOCKET_RETRANSMIT_TIMING2_PROTOCOL_HANDLER_H__A526B365_C490_4660_8B7F_79DA85DFBA54__INCLUDED_

#include <iostream>
#include <vector>
#include <algorithm>
#include"socket_data_struct.h"
#define MAXRETRANSMITNUM  3
#define TIMERNUM  10
#define MAXNUM  1

#include"Socket_Create_Message_Protocol_Handler.h"
#include "Socket_SR.h"

using namespace std;

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

extern pthread_mutex_t retransmit_queue_lock;
extern struct sigaction act; 
extern int current_num;
extern int TIMER_SPACE;

typedef void(* call)(void);

extern "C"
{
	void init(call t);
}

void  f_SOCKET_Timing2_Scan();

class SOCKET_ReTransmit_Timing2_Protocol_Handler  
{
public:
	SOCKET_ReTransmit_Timing2_Protocol_Handler();
	virtual ~SOCKET_ReTransmit_Timing2_Protocol_Handler();

	static SOCKET_ReTransmit_Timing2_Protocol_Handler* get_instance();
	static void  f_SOCKET_Timing2_ReTransmit(vector<T2_ITEM_STR>::iterator iter_temp);
	static bool f_SOCKET_Timing2_TimeNumOut(vector<T2_ITEM_STR>::iterator iter_temp);
		
	bool  f_SOCKET_Timing2_Add(unsigned int seq_packet , Message* msg_temp, Addr_Str addr_str, RUDP* rudp);
	bool  f_SOCKET_Timing2_Remove(unsigned int  deviceID,unsigned int  RUDP_Seq);
	bool  f_SOCKET_Timing2_Remove(vector<T2_ITEM_STR>::iterator iter_temp);
	void  f_SOCKET_Timing2_ReSet(unsigned int  deviceID, unsigned int RUDP_Seq);
	Message  f_SOCKET_Timing2_find_item(unsigned int deviceID, unsigned int RUDP_Seq);
	
	bool SOCKET_ReTransmit_Timing2_Protocol_Handler::is_empty();
	bool f_SOCKET_Timing2_delete_all_t2_item_struct_by_deviceID(int deviceID);
	int  get_vector_length();
	static vector<T2_ITEM_STR> m_T2_ReTransmit_Queue_vector; 
	static unsigned short t2_vector_length;

private:
	static SOCKET_ReTransmit_Timing2_Protocol_Handler* pinstance;
	static Socket_SR* socket_sr_re_ptr;
};

#endif // !defined(AFX_SOCKET_RETRANSMIT_TIMING2_PROTOCOL_HANDLER_H__A526B365_C490_4660_8B7F_79DA85DFBA54__INCLUDED_)



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?