ONE源代码分析——core5之Connection

Connection类:

这个类是一个抽象类。

数据域:

DTNHost toNode:连接到的节点

NetworkInterface toInterface:连接到的节点的接口

DTNHost fromNode:发起连接的节点

NetworkInterface fromInterface:发起连接的节点的接口

DTNHost msgFromNode:信息的源节点

boolean isUp:Connection 是否是连接的

Message msgOnFly:正在传输的信息

int bytesTransferred:这个Connection已经完成传递的字节数


函数域:

构造函数Connection(DTNHost fromNode, NetworkInterface fromInterface,DTNhost toNode, NetworkInterface toInterface)创建一个连接,并将其状态设为up。


boolean isTransferring()该Connection是否正在进行传输,即msgOnFly不为空。


boolean isInitiator(DTNHost node)如果参数节点是该连接的发起者,返回true。


abstract int startTransfer(DTNHost from, Message m)将m使用该connection传输。


void abortTransfer()将目前传输的message 丢弃。


abstract int getRemainingByteCount()返回将要被传输的字节数,如果没有传输或传输完成,返回0。


abstract boolean isMessageTransferred()如果当前传输完成,返回true。


boolean isReadyForTransfer()当前connection状态为up,并且msgOnFly为空,表示该connection准备好进行传输。


int getTotalBytesTransferred()返回这个connection已经完成的传输字节数。


DTNHost getOtherNode(DTNHost node)返回另一端的节点,如果参数是from节点,返回to节点;反之,返回from节点。


void finalizeTransfer()完成当前message传输。将message字节数存入bytesTransferred,然后使得对端(接收端)节点继续传输该message,通过下面的语句实现getOtherNode(msgFromNode).messageTransferred(this.msgOnFly.getId(), msgFromNode);最后清除msgOnFly。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ymaym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值