2022-12-15-Fastdds回调掩码

简介: 2022-12-15-Fastdds回调掩码

层级关系式从下往上依次降低

当事件产生的时候会触发回调,例如消息接收事件,当事件触发的时候,事件会层层冒泡从高层级往低层级传递时间,在传递的过程中层层过滤,在domainparticipantlistener这一层中是没有任何的过滤器的,也就是说这一层不用关闭任何过滤器就可以让消息通过,传递到下一层,到了下一层的话比如是到了subscriberlistener这一层,这一层有一个on_data_reader过滤器,如果这个过滤器处于开启状态这个事件就会触发on_data_reader停止冒泡了,否则继续往下一层冒泡,到达datawriterlistener这一层, 这一层的话也有一个消息过滤器(其他的可能是别的事件的过滤器,不一定是消息到达事件的过滤器),该过滤器的作用和上一层的on_data_reader过滤器的作用是一样的,都是对消息事件进行处理的作用,同样如果开启状态事件就会触发on_data_ava也就不再冒泡了

对于mask的书写如果是增量那么就是StatusMask::none()<<StatusMask::xxx()

如果是减量的话就是StatusMask::all()>>StatusMask::xxx()

注意在subscriberlistener如果把on_data_ava过滤器关闭的话也会误打误撞把on_data_reader过滤器关掉,所以消息事件会继续向下冒泡的,一个事件在不同的地方调用的是不同的方法 ,这个Sub里面是获取不到送给哪个dataReader的, 那么o_d_a是自然调用不了的, ,所以退而求其次, 去调用了o_d_r ,每个层级有每个层级能处理的事件, 事件是事件, 过滤器(回调)是过滤器 ,只有事件的类型和属性 ,每个层级根据自己能够怎么处理这个事件选择自身的过滤器 ,在subscriberlistener就只透过 “收到消息事件” 的话完全可以写成StatusMask::all() >> StatusMask::data_reader()


目录
相关文章
|
网络架构 网络协议
|
6月前
|
自然语言处理 算法 BI
|
机器学习/深度学习 Serverless Python
​注意力机制中的掩码详解
注意力机制的掩码允许我们发送不同长度的批次数据一次性的发送到transformer中。在代码中是通过将所有序列填充到相同的长度,然后使用“attention_mask”张量来识别哪些令牌是填充的来做到这一点,本文将详细介绍这个掩码的原理和机制。
369 0
|
PyTorch 算法框架/工具
如何将网络参数初始化,或者如何将网络参数还原成原始参数状态
在以上代码中,_initialize_weights()方法用于对网络参数进行初始化。其中,init.ones_表示将权重初始化为1,init.zeros_表示将偏置初始化为0。 3. 如果想将网络参数恢复到初始状态,则可以重新调用_initialize_weights()方法
324 0
|
编解码 网络安全 Windows
eyeBeam音频出现问题要如何处理
eyeBeam音频出现问题要如何处理
|
机器学习/深度学习 Android开发 开发者
【Android 高性能音频】AAudio 音频流 PCM 采样 的 采样 缓冲 播放 的 连续机制 ( 数据回调机制 | 数据回调函数指针 | 实现数据回调函数 | 设置数据回调函数 )
【Android 高性能音频】AAudio 音频流 PCM 采样 的 采样 缓冲 播放 的 连续机制 ( 数据回调机制 | 数据回调函数指针 | 实现数据回调函数 | 设置数据回调函数 )
516 0
【Android 高性能音频】AAudio 音频流 PCM 采样 的 采样 缓冲 播放 的 连续机制 ( 数据回调机制 | 数据回调函数指针 | 实现数据回调函数 | 设置数据回调函数 )
|
安全 API Android开发
【Android 高性能音频】AAudio 音频流 数据回调细节 ( 数据回调函数优先级 | 数据回调函数 | 采样率 | 采样数 | 缓冲区调整 | 线程不安全 )
【Android 高性能音频】AAudio 音频流 数据回调细节 ( 数据回调函数优先级 | 数据回调函数 | 采样率 | 采样数 | 缓冲区调整 | 线程不安全 )
508 0
|
Android开发
【Android 高性能音频】AAudio 音频流 样本缓冲 相关配置 ( 通道数 | 样本格式 | 帧缓冲 | 采样率 | 每帧样本数 == 通道数 )(二)
【Android 高性能音频】AAudio 音频流 样本缓冲 相关配置 ( 通道数 | 样本格式 | 帧缓冲 | 采样率 | 每帧样本数 == 通道数 )(二)
564 0
|
Android开发 数据格式
【Android 高性能音频】AAudio 音频流 样本缓冲 相关配置 ( 通道数 | 样本格式 | 帧缓冲 | 采样率 | 每帧样本数 == 通道数 )(一)
【Android 高性能音频】AAudio 音频流 样本缓冲 相关配置 ( 通道数 | 样本格式 | 帧缓冲 | 采样率 | 每帧样本数 == 通道数 )(一)
231 0

热门文章

最新文章