目 录CONTENT

文章目录

基于通信的数据结构

Rho
Rho
2023-08-19 / 0 评论 / 0 点赞 / 28 阅读 / 3953 字
# 1.channel_data

ChannelData 消息类型具有两个字段:

  • node_list 是一个重复的 double 类型字段,用于存储节点列表。
  • path_details 是一个重复的 PathDetails 类型字段,用于存储路径详细信息。

PathDetails 消息类型具有四个字段:

  • ids 是一个重复的 uint32 类型字段,用于存储标识符列表。
  • los 是一个 bool 类型字段,用于表示是否有直线视距 (line of sight)。
  • num_hops 是一个重复的 uint32 类型字段,用于存储跳数列表。
  • hop_points 是一个重复的 double 类型字段,用于存储跳点列表。
syntax = "proto3";

package channel_data_proto;

message ChannelData {
    repeated double node_list = 1;  // 节点列表
    repeated PathDetails path_details = 2;  // 路径详细信息列表
}

message PathDetails {
    repeated uint32 ids = 1;  // 标识符列表
    bool los = 2;  // 是否有直线视距
    repeated uint32 num_hops = 3;  // 跳数列表
    repeated double hop_points = 4;  // 跳点列表
}

基于channel_data,有如下两个新结构:

  • NetworkUpdate 消息结构:这个消息结构可能用于描述网络中的更新情况。它包含了各种字段,如消息类型、时间值、数据包标识符、IP 地址、数据包长度、接收 IP 地址、比特错误率等。这些字段可以用来记录和传递网络通信的相关信息,例如数据包的传输情况、网络延迟、丢包情况等。

  • PhysicsUpdate 消息结构:这个消息结构可能用于描述与物理环境相关的更新情况。它包含了消息类型、时间值和通道数据字段。这些字段可能用于记录和传递与物理环境模拟或仿真相关的信息,例如物理模型的状态变化、环境参数的更新等。

2.network_update

NetworkUpdate 消息类型具有以下字段:

  • msg_type 是一个枚举类型字段 MsgType,表示消息的类型。枚举类型定义了两个值:BEGIN 和 END,分别对应值 0 和 1。
  • time_val 是一个 uint32 类型字段,表示时间值。
  • pkt_id 是一个重复的 uint32 类型字段,用于存储数据包标识符列表。
  • src_ip 是一个重复的 fixed32 类型字段,表示源 IP 地址列表。
  • dst_ip 是一个重复的 fixed32 类型字段,表示目标 IP 地址列表。
  • pkt_lengths 是一个重复的 uint32 类型字段,表示数据包长度列表。
  • rx_ip 是一个重复的 fixed32 类型字段,表示接收 IP 地址列表。
  • ber 是一个重复的 double 类型字段,表示比特错误率列表。
  • channel_data 是一个 bytes 类型字段,表示通道数据。
  • clear_pkt_id 是一个重复的 uint32 类型字段,表示清除的数据包标识符列表。
  • clear_src_ip 是一个重复的 fixed32 类型字段,表示清除的源 IP 地址列表。
  • clear_dst_ip 是一个重复的 fixed32 类型字段,表示清除的目标 IP 地址列表。
syntax = "proto3";

package network_update_proto;

message NetworkUpdate {
    enum MsgType {
        BEGIN = 0;  // 开始消息
        END = 1;  // 结束消息
    }

    MsgType msg_type = 1;  // 消息类型
    uint32 time_val = 2;  // 时间值

    repeated uint32 pkt_id = 3;  // 数据包标识符列表
    repeated fixed32 src_ip = 4;  // 源 IP 地址列表
    repeated fixed32 dst_ip = 5;  // 目标 IP 地址列表
    repeated uint32 pkt_lengths = 6;  // 数据包长度列表
    repeated fixed32 rx_ip = 7;  // 接收 IP 地址列表

    repeated double ber = 8;  // 比特错误率列表

    bytes channel_data = 9;  // 通道数据

    repeated uint32 clear_pkt_id = 10;  // 清除的数据包标识符列表
    repeated fixed32 clear_src_ip = 11;  // 清除的源 IP 地址列表
    repeated fixed32 clear_dst_ip = 12;  // 清除的目标 IP 地址列表
}

3.physics_update

PhysicsUpdate 消息类型具有以下字段:

  • msg_type 是一个枚举类型字段 MsgType,表示消息的类型。枚举类型定义了两个值:BEGIN 和 END,分别对应值 0 和 1。
  • time_val 是一个 uint32 类型字段,表示时间值。
  • channel_data 是一个 bytes 类型字段,表示通道数据。
syntax = "proto3";

package physics_update_proto;

message PhysicsUpdate {
    enum MsgType {
        BEGIN = 0;  // 开始消息
        END = 1;  // 结束消息
    }

    MsgType msg_type = 1;  // 消息类型
    uint32 time_val = 2;  // 时间值
    bytes channel_data = 3;  // 通道数据
}
0

评论区