`

cindy源码阅读(2)Packet

阅读更多
cindy传输的时候都是封装成pccket的,其实packet很简单,一个是socket的地址,一个是编码后的内容(一个buffer)
public interface Packet {

    /**
     * Get the socket address of the packet.
     * 
     * @return the socket address
     */
    SocketAddress getAddress();

    /**
     * Get the content of the packet.
     * 
     * @return content
     */
    Buffer getContent();

}

再看看packet的类结构图:


实际使用的是FuturePacket。既有优先级,也有原始的内容。还有一个future。
public FuturePacket(Object obj, Packet packet, int priority,
                DefaultFuture future) {


这个future的作用是在session的onWritable()方法体现的
  try {
                        checkSendPacket(currentSendPacket);
                    } catch (RuntimeException e) {
                        dispatchException(e);
                        DefaultFuture future = currentSendPacket.future;
                        currentSendPacket = null;
                        future.setSucceeded(false);
                        continue;
                    }


异常情况下会future设置为失败

dispatch(new Runnable() {

                            public void run() {
                                packet.future.setSucceeded(true);

开始发送的时候设置为成功。

而且可以看到cindy的发送都用的是packetSend packetSent。这些可以看出都是处理packet的,所以在cindy在packet是传输的介质。

  • 大小: 6 KB
0
4
分享到:
评论

相关推荐

    packetSender.源码

    数据包发送工具packetSender

    MPEG-2 TS packet analyser

    标题中的"MPEG-2 TS packet analyser"是指一个专门用于分析MPEG-2传输流包的软件。这个工具可以帮助用户查看TS流的结构,理解每个包的内容,从而进行故障排查、系统优化或协议开发。其功能通常包括: 1. **逐包浏览...

    PacketSender源码(Android Studio版)

    这个压缩包包含的是PacketSender的源码,专为在Android Studio环境下开发和编译而优化。 在深入探讨PacketSender的源码之前,我们需要理解TCP和UDP这两种传输协议的基本概念。TCP(Transmission Control Protocol)...

    packet_ns2packet_

    在NS-2(Network Simulator 2)中,`packet`是网络模拟中基本的数据单元,它代表了网络中传输的数据包。`packet.cc`文件是NS-2源代码中的一个核心部分,它包含了`Packet`类的实现,这个类是NS-2中所有网络数据包的...

    SmartRF_Packet_Sniffer2_1.9.0.zip

    对于初次使用者来说,仔细阅读这份文档可以帮助快速上手SmartRF Packet Sniffer 2,并避免在使用过程中遇到不必要的困扰。 总的来说,SmartRF Packet Sniffer 2 v1.9.0是蓝牙开发和调试不可或缺的工具,它为开发者...

    packet32 优秀的Mac 层开发包源码

    "packet32" 是一个专为Mac平台设计的网络层(Mac层)开发包,它提供了丰富的源码供开发者学习和使用。这个开发包的核心目标是帮助程序员在Mac OS X系统下实现对网络数据包的捕获、分析和处理。在深入探讨packet32的...

    libpcap_sendpacket.zip_libpcap_libpcap_sendpacket_libpcap修改_send

    2. **开始捕获**:接着,使用`pcap_loop()`或`pcap_dispatch()`函数开始数据包捕获。这两个函数会在接收到数据包时调用用户提供的回调函数。 3. **处理数据包**:在回调函数中,我们可以使用`pcap_pkthdr`结构体...

    抓包工具SmartRF_Packet_Sniffer2_1.5.0

    《SmartRF_Packet_Sniffer2_1.5.0:强大的无线通信抓包利器》 在信息技术领域,网络通信的分析与调试是一项至关重要的任务,而抓包工具则成为了这项工作中的得力助手。本文将详细介绍SmartRF_Packet_Sniffer2_1.5.0...

    packet32,packet

    2. 2.02-Packet95.exe - 这个文件对应于Windows 95操作系统的版本,是个人电脑用户早期使用的系统。 3. 2.02-Packet2K.exe - 这个文件可能为Windows 2000系统设计的Packet Driver版本,一个在Windows NT内核基础上的...

    基于cisco packet tracer的校园网络的设计与实现项目源码+报告和PPT

    基于cisco packet tracer的校园网络的设计与实现项目源码+报告和PPT基于cisco packet tracer的校园网络的设计与实现项目源码+报告和PPT基于cisco packet tracer的校园网络的设计与实现项目源码+报告和PPT基于cisco ...

    2.7.1 Packet Tracer - Single-Area OSPFv2 Configuration

    2.7.1 Packet Tracer - Single-Area OSPFv2 Configuration 正确答案文件 可直接上交正确答案文件 本答案版权归mewhaku所有,严禁再次转载!!! Copyright @mewhaku 2022 All Rights Reserved

    Openvswitch源码阅读笔记.pdf

    综上所述,OpenvSwitch源码阅读笔记涵盖了OVS的网络架构、内部组件、代码组织以及核心功能实现,对于初学者来说,这是一份很好的指南,可以帮助理解OVS如何实现虚拟交换以及OpenFlow协议的运用。

    vrrp packetTracer 配置

    2. VRRP基本配置 在Cisco Packet Tracer中进行VRRP配置时,首先要为参与VRRP的路由器接口配置IP地址和优先级。主路由器的优先级通常设置得比备份路由器高,当主路由器无法工作时,优先级最高的备份路由器将接替其...

    Cisco Packet Tracer 5.3 思科路由器交换机模拟软件

    Cisco Packet Tracer 5.3 思科路由器交换机模拟软件 Cisco Packet Tracer 5.3 思科路由器交换机模拟软件 Cisco Packet Tracer 5.3 思科路由器交换机模拟软件 Cisco Packet Tracer 5.3 思科路由器交换机模拟软件 ...

    4.1.1.11 Packet Tracer - Configuring Extended ACLs Scenario 2.pka

    4.1.1.11 Packet Tracer - Configuring Extended ACLs Scenario 2.pka

    Cisco+packet

    Packet Tracer是一个功能强大的网络仿真程序,允许学生实验与网络行为,问"如果"的问题。随着网络技术学院的全面的学习经验的一个组成部分,包示踪提供的仿真,可视化,编辑,评估,和协作能力,有利于教学和复杂的...

    Cisco Packet Tracer7.2.2 x64补丁

    2. Make sure you have closed Packet Tracer application. 3. Extract the file "ptsaplayer.dll" to the plugins folder of Packet Tracer. (i.e., 64bit: "C:\Program Files\Cisco Packet Tracer 7.2.2\plugins...

    PacketTracer5+汉化包

    2. **设备配置**:支持对网络设备进行详细配置,如IP地址、子网掩码、VLAN设置、路由协议等。 3. **数据包分析**:用户可以追踪数据包在网络中的传输路径,了解其在网络层和传输层的详细信息。 4. **故障排查**:...

    Packet Tracer(2-7)

    Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在...

    packet tracer 5.3 安装版2

    Packet Tracer 5.3是一款非常不错的Cisco(思科)网络设备模拟器,对于想考思科初级认证(如CCNA)的朋友们来说,Packet Tracer 5.3是非常不错的选择。通常我们周围并没有那么多思科的设备供我们学习调试,参加培训...

Global site tag (gtag.js) - Google Analytics