forked from LosaDev/ls-2019-source
45 lines
899 B
C++
45 lines
899 B
C++
#pragma once
|
|
|
|
#include "FSM.h"
|
|
#include "NetworkSecurity.h"
|
|
|
|
class SecurityUDP : public NetworkSecurity
|
|
{
|
|
public:
|
|
SecurityUDP(void);
|
|
~SecurityUDP(void);
|
|
|
|
// Packet CheckSum
|
|
protected:
|
|
void EncryptMsg( CPacket &rkPacket );
|
|
void DecryptMsg( CPacket &rkPacket );
|
|
|
|
public:
|
|
virtual bool IsCheckSum( CPacket &rkPacket );
|
|
|
|
// Packet Replay
|
|
public:
|
|
virtual int GetSndState();
|
|
virtual void UpdateSndState();
|
|
virtual int GetRcvState();
|
|
virtual void UpdateRcvState();
|
|
virtual bool CheckState( CPacket &rkPacket );
|
|
|
|
// Send
|
|
public:
|
|
virtual void PrepareMsg( CPacket &rkPacket );
|
|
virtual void CompletionMsg( CPacket &rkPacket );
|
|
|
|
public:
|
|
void RcvPeerInfo( char *iip, int iPort );
|
|
|
|
protected:
|
|
FSM m_SndState;
|
|
FSM m_RcvState;
|
|
char m_recent_rcv_ip[16];
|
|
int m_recent_rcv_port;
|
|
char m_pre_recent_rcv_ip[16];
|
|
int m_pre_recent_rcv_port;
|
|
|
|
};
|