opendaylight中statisticsmanager模块的学习
来源:互联网 发布:中文版电路设计软件 编辑:程序博客网 时间:2024/06/05 18:09
这个模块定义了一些方法,用来获取网络中node的一些统计数据
List<FlowOnNode> getFlows(Node node); //获取指定节点上的所有流数据
List<FlowOnNode> getFlowsNoCache(Node node);//功能同上,但不包含缓存的流
Map<Node, List<FlowOnNode>> getFlowStatisticsForFlowList(List<FlowEntry> flows);//获取流链表中指定流的统计数据
int getFlowsNumber(Node node);//获取指定节点上当前的留数目
NodeDescription getNodeDescription(Node node);//获取指定节点的节点描述
NodeConnectorStatistics getNodeConnectorStatistics(NodeConnector nodeConnector) //返回指定nodeconnector的统计数据
List<NodeConnectorStatistics> getNodeConnectorStatistics(Node node);//指定节点上所有nodeconnector的统计数据链表
NodeTableStatistics getNodeTableStatistics(NodeTable nodeTable); //获取指定nodetale上的统计数据
List <NodeTableStatistics> getNodeTableStatistics(Node node); //获取指定节点上的所有nodetable统计数据链表
延伸数据结构:
FlowOnNode类:node上的flow信息
成员变量
private Flow flow; //流
private byte tableId; //表ID
private int durationSeconds //停留时间;
private int durationNanoseconds; //
private long packetCount; //数据包的数量
private long byteCount; //字节数
部分函数:
public FlowOnNode()//构造
public FlowOnNode(Flow flow)//构造函数
public Flow getFlow()//获取流
public void setPacketCount(long count)
public void setByteCount(long count)
public long getPacketCount()
public long getByteCount()
public byte getTableId()
public void setTableId(byte tableId)
public int getDurationSeconds()
public void setDurationSeconds(int durationSeconds)
public int getDurationNanoseconds()
public void setDurationNanoseconds(int durationNanoseconds)
flow类:match+action+ flow specific properties
成员变量
private Match match; //匹配项
private List<Action> actions;//动作链表
private short priority; //优先级
private short idleTimeout; //
private short hardTimeout;
private long id; //ID号,流的唯一标识符
部分函数:
public Flow()
public Flow(Match match, List<Action> actions)//构造函数
public Match getMatch()//获取匹配项
public void setMatch(Match match)//设置匹配
public List<Action> getActions()//获取动作链表
public void setActions(List<Action> actions)//设置动作链表
public boolean isIPv6()//判断流是否匹配ipv6
private boolean actionsAreIPv6() //流的动作链表中有一个是针对ipv6的返回true
public Flow clone()//克隆流
public boolean removeAction(ActionType actionType) //删除这条流的所有actionType类型的动作
... 其他获取、设置相关参数的函数
MatchType枚举类型:在ID、值、掩码类型、和元素类型值得范围之间绑定。
有:inport、dlsrc 、dldsc等。
private int index;
private Class<?> dataType;
private long minValue;
private long maxValue;
public boolean isCongruentType(Object value, Object mask)//验证类型
public boolean isValid(Object value, Object mask)//验证范围的合理性
public long getBitMask(Object mask)//将掩码值返回以64bit的比特掩码形式
MatchField类:通用的匹配字段
private MatchType type; // the field we want to match
private Object value; // the value of the field we want to match
private Object mask; // the value of the mask we want to match on the specified field
private boolean isValid;
public MatchField(MatchType type, Object value, Object mask)//基于mask的匹配构造
public MatchField(MatchType type, Object value)//全匹配构造
Match类: 对网络层数据包的匹配标准,包含一个匹配域的集合
private Map<MatchType, MatchField> fields;
private int matches;
public void setField(MatchType type, Object value, Object mask)//匹配字段的设置
public void setField(MatchType type, Object value)//匹配字段的设置
public void setField(MatchField field)//匹配字段的设置
public void clearField(MatchType type) //从匹配中清除字段域
public MatchField getField(MatchType type)//获取matchfield
public List<MatchType> getMatchesList() //match设置的字段中matchtype的链表
public List<MatchField> getMatchFields()//matchfield的链表
Action类:通用的用来匹配后执行的动作
protected ActionType type;
private transient boolean isValid = true;
protected void checkValue(int value)//检查传的参数值是否是此action的范围
protected void checkValue(ActionType type, int value)//同上
- opendaylight中statisticsmanager模块的学习
- opendaylight中TopologyManager模块学习
- opendaylight中arphandler模块与routing模块的学习
- OpenDaylight-Boron学习笔记: 2 DLUX模块
- OpenDaylight-Boron学习笔记: 3 L2Switch模块
- OpenDaylight-Boron学习笔记: 4 OVSDB模块
- OpenDaylight-Boron学习笔记: 5 OpenFlowPlugin模块
- OpenDaylight-Boron学习笔记: 6 VTN模块
- opendaylight源码开发的时候模块加载
- OpenDaylight中MD-SAL学习笔记
- opendaylight各模块编译
- 关于opendaylight中拓扑元素的数据结构
- opendaylight中ping的数据流分析
- OpenDaylight实战手记(三)OpenDaylight中使用Eclipse的几个Tricks
- YANG学习笔记及OpenDayLight中toaster示例
- opendaylight中的VTN模块介绍
- OpenDaylight学习 ( by quqi99 )
- OpenDaylight学习 ( by quqi99 )
- Apache Hadoop 2.6.0安装部署
- win8系统无线受限处理方法
- 【linux】linux内核移植错误记录
- freopen
- 地图坐标查询
- opendaylight中statisticsmanager模块的学习
- 5个最佳的Android测试框架
- 日经社説 20150423 株価2万円が映す成長への期待を現実に
- PythonChallenge第3题
- 不能写入文件的可能性——fclose()
- Android开发中常用的工具类整理
- libcurl教程第一部
- "回复 集赞" 抢 《Apple Watch 苹果开发教程》活动开始了!!!
- 微信SEO怎么做,微信优化搜索排名技巧有哪些?