UC故事2011/12/07 总结与计划 (续2)

从零到一:Firefly-RK3399上的Ubuntu镜像构建与GPU加速实战 本文详细介绍了在Firefly-RK3399开发板上从零构建深度优化的Ubuntu系统镜像的全过程,包括交叉编译环境配置、内核定制、GPU加速环境部署(Mesa Panfrost驱动、OpenCL/Vulkan支持)以及深度学习推理优化(TFLite + LinuxNN)。通过实战案例展示了如何充分发挥Mali-T860 GPU的硬件潜力,提升边缘AI应用的性能和能效。 阅读详情


1. 总结

* CRtReactorBase::ProcessHandleEvent

此函数实际将两件事混在一起了,以后应该重构:

a) Event Queue的事件处理

b) 网络socket的处理

Q:是否只有network thread才会处理b)?查一下ProcessHandleEvent的引用地方?


* 最终与server建立连接的地方:CRtConnectorTcpT::Connect_I()

        /// we regiester CONNECT_MASK prior to connect() to avoid lossing OnConnect()
        RtResult rv = m_pReactor->RegisterHandler(this, IRtEventHandler::CONNECT_MASK);
        if (RT_FAILED(rv))
            return -1;

        nRet = ::connect((RT_SOCKET)sockPeer.GetHandle(),
                          reinterpret_cast<const struct sockaddr *>(aAddr.GetPtr()),
                          aAddr.GetSize());                               // 此处,终于修成成果,连接建立,tcpview.exe能看到了。
                ......

* 关于众多Event

IRtEvent/IEventQueue: 处理不同线程之间的信息传递机制,如PostEvent, SendEvent

IRtEventHandler:主要是指各种I/O事件,如OnInput, OnOutput, OnClose

CRtReactorBase::ProcessHandleEvent:同时指以上两种不同的event?

注:very BAD NAMING!


/**
 * @class IRtEventHandler
 *
 * @brief Provides an abstract interface for handling various types of I/O events.
 *
 * Subclasses read/write input/output on an I/O descriptor(implemented),
 * handle an exception raised on an I/O descriptor(not implemented yet)
 *
 */


* Thread 与 Reactor

有很多种不同的Thread,有不同的OnThreadRun()实现,CRtThreadReactor是其中一种

CRtThreadReactor::OnThreadRun(),实现时调用pReactor->RunEvent()


2. 问题

Q:是否input与output使用了不同的connection?

似乎发送使用CConfConnection,接收使用CRtIMConnection?

最终都使用IRtTransport/CRtSocketBase?


Q:跟踪Chat信息传递全过程:Box4.2及E///代码?

Q:Conference Client的UI是如何展现出来的?ChatMainDlg如何嵌入到主UI上的?

Q:在Client/InfoServer/Controller启动完成后,列出其中的重要线程、各种重要类实例?

Q:CConfSession为什么会有一个IClientSink的实例(CConfSession本身就是一个IClientSink)?

Q:Conference Client出问题的时候,拿到的日志是什么东东?在哪里产生的?

Q:环境变量__RT_DIAGNOSE__???

#ifdef __RT_DIAGNOSE__
            // Start debug module
            pRunProc2();
            RT_TRY
            pRunProc(hInstance, lpCmdLine, nCmdShow);
            RT_EXCEPT
            // Stop debug module
            pRunProc3();
#else
            pRunProc(hInstance, lpCmdLine, nCmdShow);
#endif


什么时候__RT_DIAGNOSE__不被使用?


Q:

Q:Debug到底做什么用?是在client运行的时候向Web服务端发送相关信息以搜集出问题的时候client的状态?

Q:Conference client与server端的交互到底什么时候开始的?今天跟踪一下,搞清这个关系!!!

* LaunchConf()

# leave confefence

    Q:这里其实向serer发了pdu,但居然在tcpview中没有看到有tcp连接established,奇怪了?

# IConference::CreateInstance (此时没有connection对象生成,也没有网络连接产生)

# Join Conference: CConference::JoinConference ( send request to server ) 

    Q:仍然在tcpview中见不到网络连接


Q:CConferenceProvider里有一个Conference的列表,为什么保留这个列表?或者是因为Client/Server代码不太一样?

Q:汇总一下系统里各种有用参数的设置及默认值什么的?

Q:Conference Cilent启动后线程,除了UI主线程及网络线程,还有一个线程,干嘛用的?

NTDLL! 7c92e514()
KERNEL32! 7c802542()
CRtConditionVariableThread::Wait(CRtTimeValue * 0x00000000) line 190 + 26 bytes
CRtEventQueueUsingConditionVariable::PopOrWaitPendingEvents(std::list<IRtEvent *,std::allocator<IRtEvent *> > & {...}, CRtTimeValue * 0x00000000, unsigned long 4294967295) line 159 + 15 bytes
CRtThreadTaskWithEventQueueOnly::OnThreadRun() line 32 + 22 bytes
CRtThread::ThreadProc(void * 0x020ac8b8) line 151 + 13 bytes
_threadstartex(void * 0x020ac9d8) line 227 + 13 bytes
KERNEL32! 7c80b729()


Q:线程种类?

* 线程种类

    typedef int TType;
    enum
    {
        TT_MAIN,
        TT_NETWORK,
        TT_DNS,                      // Q:for what ?
        TT_CURRENT,           // Q:for what?
        TT_TIMER,
        TT_UNKNOWN = -1,
        
        // This private thread type is used by applications.
        TT_USER_DEFINE_BASE = 1000
    };

对CRtThread的子类进行总结,并理清和CRtReactor之间的基本关系?

CRtThreadReactor: for Reactor

CRtThreadTask: for user task


Q:关于WinMain


#ifdef __RT_DIAGNOSE__
            // Start debug module
            pRunProc2();                 // start debug mode,同时,打开了一个网络子线程,如果非diagnose模式又如何?
            RT_TRY
            pRunProc(hInstance, lpCmdLine, nCmdShow);     // 启动会议客户端,执行初始化,创建conference及sessoin(其间与server交互数次),消息循环,
            RT_EXCEPT
            // Stop debug module
            pRunProc3();
#else
            pRunProc(hInstance, lpCmdLine, nCmdShow);   // 直接启动户端,但网络线程呢??? 没有网络线程?!!
#endif



3. 杂记

【C2000系列DSP的Bootloader详解】实现过程、流程图与示例代码 C2000 Bootloader 的核心逻辑可概括为 “初始化→选模式→加载程序→校验→跳转” 五步。对于小白来说,无需纠结底层寄存器配置(驱动库已封装),重点理解 “启动流程” 和 “数据传输 + 校验” 的核心思想即可。 通过本文的流程图和示例代码,相信你已经掌握了 C2000 Bootloader 的核心原理。实际开发中,可基于 TI 提供的 Bootloader 示例(C2000Ware 中自带)进行修改,快速适配自己的硬件和应用场景。 阅读详情

相关推荐

javaFx + SpringBoot 启动时报错:No auto configuration classes found in META-INF/spring.factories 解决方法

javaFx+SpringBoot+(de.roskenet:springboot-javafx-support:2.1.6)开发。 直接在idea中运行正常,但打包成jar,之后使用java -jar xxx.jar启动报错,发现日志中有: java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. 以及 at de.felixroske.jfxsuppo

long117long的专栏 4611

UC故事 2011/12/05 总结与计划(续2)

1. 要点回顾  * SendData/ReceiveData的本质: SendData=Main thread向network thread发送(PostEvent)一个CRtEventSendData;在CRtEventSendData::OnEventFire中,network thread通过socket送出 ReceiveData=network thread从socket接收数据

printf1998的专栏 496

【IC设计实战】去耦电容decap在电源完整性中的关键作用与选型策略

本文深入探讨了去耦电容(decap)在IC设计电源完整性中的核心作用。文章分析了decap如何通过提供本地电荷缓冲来抑制电源噪声与电压波动,并详细阐述了其选型与布局策略,包括MIM、MOM、MOS电容的特性对比,以及如何权衡峰值抑制与建立速度的矛盾,为设计稳定可靠的芯片电源系统提供实践指导。

weixin_29233857的博客 247

UC故事2011/12/04 总结与规划 (续)

1. 要点总结 * 2011/11/22: Client核心类图及关于XXXSink的理解 * Chat窗口中的信息如何传递到服务器 UI线程:UI上的button消息响应函数 UI线程:得到网络线程的Reactor指针pReactor UI线程:pReactor->PostEvent(SendDataEvent),投递event,并呼叫NotifyHandler通知reactor处理e

printf1998的专栏 703

运动目标成像必学:5分钟搞懂keystone变换原理与避坑指南

本文深入浅出地解析了雷达信号处理中的Keystone变换原理,它是解决运动目标距离徙动问题的关键技术。文章通过直观比喻和简化公式,阐述了该变换如何通过变量代换实现距离与慢时间的解耦合,将倾斜轨迹“掰直”,从而提升成像与检测性能。同时,文中重点指出了实际应用中关于大速度场景、插值误差、多目标处理及高阶运动补偿等关键避坑点,为工程实践提供了宝贵指南。

ios99的博客 403

Visio 2013安装遇阻?手把手教你搞定注册表权限错误1402(附64位系统特殊处理)

本文详细解析了Visio 2013安装过程中常见的注册表权限错误1402问题,特别是在64位系统下的特殊处理方法。通过分步指导如何修改注册表权限、处理Wow6432Node分支以及使用高级工具如subinacl,帮助用户顺利完成安装并避免常见连带问题。

t8u9v0w1x的博客 543

UC故事 2011/12/08 总结与计划(续4)

1. 近日要点 * 关于Thread与EventQueue(实际为Reactor)的使用总结                                   主(平台)线程类              网络线程类                           主线程事件队列类                                 网络线程事件队列类 操作系统

printf1998的专栏 626

电力现货市场出清机制与节点电价计算实战解析

本文深入解析了电力现货市场的出清机制,特别是节点边际电价的计算原理与实战应用。通过一个基于Matlab和IEEE30节点系统的完整案例,详细演示了如何利用最优潮流模型求解市场出清价格,并提取节点电价,揭示了电网阻塞如何影响实时电价的形成。

weixin_29061425的博客 950

UC故事 2011/12/09 总结与计划(续5)

1. 近日总结 * 各种不同的Event CEventAsyncConnect(m2n) CEventOnConnectIndication(n2m)               Q:这个event特别多,周期性的?   知道了,因为连server不通,反复尝试。 CEventStartListen CEventCancelConnect CRtEventDelet

printf1998的专栏 444

基于YOLOv11与相机标定的齿轮尺寸测量系统

本文详细介绍了一种基于深度学习的目标检测算法YOLOv11与相机标定技术相结合的齿轮尺寸自动测量系统。该系统能够实时检测图像中的齿轮目标,并精确测量其关键尺寸参数,包括齿顶圆直径、齿根圆直径、模数等。我们构建了完整的深度学习解决方案,包含数据采集与标注、模型训练、相机标定、尺寸测量算法以及用户友好的UI界面。本文提供了完整的代码实现,并推荐了相关的参考数据集,为工业视觉检测领域提供了实用的技术方案。关键词:YOLOv11;齿轮检测;尺寸测量;相机标定;深度学习;工业视觉python。

YOLO 411

第七节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 用户管理(上)

本节的内容是用户管理,后端Python代码的实现。

cuiwin的专栏 778

UC故事2011/11/18

### 研读核心类 1. ConfManage 2. CMainFrame 3. CXXXView   Q:有时找不到标识符定义?      A:应该是因为相关DLL的符号表在build时未导入(即使用Release而非Debug方式build的) 2011/12/02 Q:有时不能设断点?      A:应该是相关DLL尚未load  2011/12/02 Q:CD

printf1998的专栏 290

使用 MATLAB/Simulink + Simscape Electrical + SimPowerSystems + Stateflow,构建一个多能互补微电网系统的动态响应仿真模型

本文详细介绍了使用MATLAB/Simulink构建多能互补微电网动态响应仿真模型的方法。文章从系统架构设计入手,包含光伏、风电、柴油发电机、锂电池储能等多种组件,重点讲解了建模过程、控制策略(下垂控制、PLL、SOC管理)和模式切换逻辑(Stateflow)。通过四种典型场景(负荷突增、光伏出力骤降、并网/孤岛切换、电动机启动)的仿真分析,验证了微电网在动态响应中的关键性能指标,并提出了高可靠性设计建议。该模型为微电网的稳定性分析和优化设计提供了有效工具,特别强调了储能系统在快速功率支撑中的重要作用。

amy_mhd的博客 159

UC故事 05/10/2011 杂记

1. Client启动的Access Violation问题 依然如故,看来和complete build没有关系。   2. Office,重启server,error如下:   $20110510 07:43:42.921 3408/3236 ERROR: CRtAcceptorTcp::StartListen, bind() failed! addr=172.16.14.6 por

printf1998的专栏 298

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

UC故事 回顾 2012/04/05

1.短期计划(1个月) * 重读所有文档 * 重读所有Blog * conference client/server build for windows/linux *  代码走读     # Session层代码     # GC/Info Server 关键代码     # Android/iOS代码     # Client代码 * 跨平台设计启动   2. 读bl

printf1998的专栏 583

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

各种软件背后的故事

总结来说,虽然蛋仔派对的具体创始人名字可能未被广泛宣传,但其背后的推动力量无疑是网易及其领导层,尤其是丁磊作为网易的核心人物,对于网易旗下所有产品的成功都有着不可忽视的作用。张一鸣的故事是一个典型的白手起家的成功案例,他通过不断探索和努力,最终打造了一个影响世界的科技帝国。总之,刘刚的故事是一个关于坚持自我、追求技术极致的故事,他带领火绒安全走出了一条与众不同的道路,在竞争激烈的网络安全领域中树立了自己的品牌。的故事,他通过自己的努力和智慧,不仅实现了个人的价值,也为社会的进步做出了重要贡献。

sl824200的博客 1316

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

移动浏览器成巨头新角力场

来源:北京商报作者:张绪旺2013-1-23 7:14:34行业:移动应用 占据移动互联网最重要入口位置的移动浏览器行业走进2013:入局者已经就位,分羹绝不是平分,巨头游戏的垄断特性只增不减。   巨头当道   浏览器,具体到移动浏览器,只是整个互联网行业的微小分支,但却吸引了诸多从业公司的目光,老牌公司UC优视、欧朋以此为生,新生代创业公司海豚、天天以此为志,还不乏腾讯、百度这样将之作为业

715

《罗永浩打脸罗永浩》、MPEG召集人辞职称MPEG将不再存在、Zoom免费用户将没有端到端加密|Decode the Week...

Decode the Week≠音视频技术周刊01罗永浩登GQ智族六月刊封面对自己发出“打脸”拷问图片来源:智族GQ六月刊封面在智族GQ新一期“GQ不可能的采访”——《罗永浩打脸...

LiveVideoStack 1711

他是程序员出身,做了一款最遭人“恨”的App,挑战张小龙!

作者:流水不争先编辑:Emma来源|技术领导力(ID:jishulingdaoli)“嘀嘀,嘀嘀”,无论何时何地,打工人最怕听到的声音,就是钉钉的消息提示音,一听到它就立刻肾上腺素飙...

技术领导力 1203

WeWork遭遇IPO滑铁卢,共享办公行业最大危机被揭开

来源:腾讯深网(qqshenwang)丨作者:相欣数据猿官网 | www.datayuan.cn今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新浪看...

数据猿 946

中文互联网正在被AI污染

苦低质内容久矣的中文互联网雪上加霜。

modernai的博客 374

总结一下关于UC方面的问题 2011/09/11

* 音频数据优先级 音频与其它数据分不同的Connection在传输,无论其是否使用UDP,都不可能控制其相对于其它数据的优先级 目前要保障音频优先级的唯一方法是在网络设备层保障 * 纯HTML5方案中server端的变化 需要自己开发WebSocket服务器 需要的时候,仍可做成分级分布式集群 * 服务器的接口 Q:可能做出一个服务器接口让第三方调用否? A:

printf1998的专栏 3171

读书与UC

1.读书Windows Programming V2 Q:AFX_MODULE_THREAD_STATE对于模块和线程都是私有的,如何理解? Q:windows book P176:AfxCallWndProc()如何处理多个消息处理嵌套的? Q:以下代码 /////////////////////////////////////////////// // CMyApp成员函数的实现代码

printf1998的专栏 1828

UC故事 05/09/2011

Office   1. 修改IP后,启动Client/Server,均现“重新连接” 2. 重启动后,一个Client连接成功,另一个仍“重新连接”。 查看错误信息,有如下:   $20110509 14:39:09.296 2016/1616 info: CConfManage::OnJoinConferenceConfirm $20110509 14:39:09.296 201

printf1998的专栏 1091

iPhone/iPad Audio Unit声音播放

1. Audio unit或audio graph 当只有一个audio unit的时候,直接使用audio unit的API,不必使用Audio Graph

printf1998的专栏 1045

UC故事2011/11/30

今日之事 * 文档完成 * Jiarong例子 * test的例子   1. CRtThreadManager * class definition class RT_API_EXPORT CRtThreadManager  {  ....  static CRtThreadManager* Instance();

printf1998的专栏 1014
上一篇: UC故事 2011/12/05 总结与计划(续2)
下一篇: UC故事 2011/12/08 总结与计划(续4)
printf1998
博客等级 码龄16年 14粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值