📄 myauth.h
字号:
#ifndef myauth_h#define myauth_h#include "agent.h"#include "tclcl.h"#include "packet.h"#include "address.h"#include "ip.h"#define MAXSIZE 100struct myauth_info{ int auth_seq;//这个packet携带的是序号为auth_seq的packet的认证信息
int sign;//形式化的数字签名 int hash;//形式化的摘要};struct hdr_myauth{ int seq; double send_time; double rcv_time; myauth_info myauth;//一个packet所携带的认证信息 。如果一个包中带了多个认证信息,此处用数组。
int authed;//此packet是否可以被认证 static int offset_; inline static int& offset() {return offset_;} inline static hdr_myauth* access(const Packet* p) { return (hdr_myauth*)p->access(offset_); }};class MyAuthAgent:public Agent{public: MyAuthAgent(); int command(int argc, const char*const* argv); //virtual int command(int argc, const char*const* argv); void send(); void recv(Packet* pkt,Handler*); void auth_send(Packet* pkt,Handler*);//发送packet时,填写auth_info的相关信息
//void auth_recv(Packet* pkt,Handler*);//收到packet后,据auth_info的相关信息进行认证操作 void auth_recv();
//void auth();//统一对pktlist中所有接受到的packet进行认证检测操作 int seq;//用于填写hdr_myauth.seq。
int send_no;//总共发送的packet的数目
int rcv_no;//经过丢包处理后,收到的packet的数目
int auth_no;//可以被认证的packet的数目 double auth_pro;//认证概率
//Packet** pktlist;//保存接收到的包的指针 Packet* pktlist[MAXSIZE];};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -