Files
min-dev-java/src/main/java/logicface/LogicFace.java
T
2021-04-13 22:21:28 +08:00

81 lines
2.6 KiB
Java

package logicface;
import component.Identifier;
import packet.MINPacket;
/*
* @Author: Wang Feng
* @Description: 逻辑接口类
* @Version: 1.0.0
* @Date: 20:27 2021/4/13
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LogicFace {
// LogicFaceType区:LogicFace的类型
public static final int LogicFaceTypeTCP = 0;
public static final int LogicFaceTypeUDP = 1;
public static final int LogicFaceTypeEther = 2;
public static final int LogicFaceTypeUnix = 3;
public static final int LogicFaceTypeInner = 4;
// 成员变量区
public int logicFaceType;
public ITransport transport; // 与logicFace绑定的transport
public LinkService linkService; // 与logicFace绑定的linkService
public LogicFaceCounters logicFaceCounters=new LogicFaceCounters(); // logicFace 流量统计对象
public long expireTime; // 超时时间 ms
public boolean state; // true 为 up , false 为down
/**
* 通过TCP连接MIR
* @param ip MIR的IP地址,如"1.1.12.2"
* @param port MIR的TCP端口号,如 13899
* @return
*/
public boolean initWithTcp(String ip,String port){
return true;
}
/**
* 通过UDP连接MIR
* @param ip MIR的IP地址,如"1.1.12.2"
* @param port MIR的TCP端口号,如 13899
* @return
*/
public boolean initWithUdp(String ip,String port){
return true;
}
/**
* 通过unixSocket连接MIR
* @param path MIR的unix socket地址,默认是 "/tmp/mir-sock"
* @return
*/
public boolean initWithUnixSocket(String path){
return true;
}
/**
* 在MIR中注册一个标识,路由指向本客户端
* // (1) 构造一个命令兴趣包, 通过l.SendInterest(interest) 把兴趣包发出去;
* // (2) 等待一个数据包, 如果等待超时,则报错,如果接收到的包不是数据包则报错;
* // (3) 解析收到的数据包,根据数据包中的应答信息判断标识是否注册成功
* @param identifier 要添加的路由标识
* @param timeout 超时时间,以 毫秒 为单位
* @return
*/
public boolean registerIdentifier(Identifier identifier,long timeout){
return true;
}
/**
* 从 LogicFace 中接收一个网络包
* @return 多标识网络包
*/
public MINPacket ReceivePacket() throws LogicFaceException {
return this.linkService.receivePacket();
}
}