跳转至

通讯

主要Tool

HFUTMessageTool

在MessageManager之上的一层封装,主要功能: - 完成消息发送前的编码,处理EncodingException - 完成收到消息后的解码,处理DecodingException - 完成对消息的筛选,只接受[[通讯#HFUTMessage|HFUTMessage]] 处理消息的发送与接收: - 发送消息:通过从各种工具从每一周期的更新提取出的消息按照需求放到messagesToSendByRadiomessagesTeSendByVoice中(发送消息由onCalcAfter处理,同时进行编码的操作) - 接收消息: - getAndDecodeMessages:在每个周期开始时调用,通过massageManager获得本周期的消息,并对有效消息一一进行解码,然后将其添加到receivedMessages并进行分类,方便智能体获取消息和获取具体类型的消息 - List<CommunicationMessage> getReceivedMessages:获取本周期的所有消息 - <T extends CommunicationMessage> List<T> getReceivedMessages(Class<T> type):获取某具体类型的所有消息

PropertyManageTool

在预计算阶段,提前记录固定的数据,如每种智能体数量,各种建筑物的id、类型

HFUTChannelSubscriber

用于智能体订阅信道(无重复订阅)

HFUTChannelCoordinator

将信息分发到每个信道上去(直接平均分配是一个好策略吗???)

message

HFUTMessage

property

对于信息中可能包含的内容进行包装,并提供了一个编解码的方法

exception

编码异常(EncodingException)和解码异常()DecodingException