⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socket_retransmit_timing2_protocol_handler.h

📁 程序实现了在ip协议之上加一层RUDP协议
💻 H
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -