用觀察者模式重新實現了ptp的主控制迴圈:在迴圈中不斷呼叫ptp的各個部分(已全部重新編寫)處理函式,當發現有輸出資料後,在最外部迴圈中呼叫lwip的函式。
lwip本身為嵌入式的編寫方式,所以使用起來不太方便,因為需要把**嵌入到lwip的框架裡面。
但是lwip本身的**簡單易懂,彌補上面的不足,因為可以利用lwip的**編寫乙個新的協議棧,避免嵌入式的缺點。
嵌入式的一大缺點就是無法把驅動和協議棧分開除錯。再加上其它應用功能的嵌入,除錯非常花費時間。這也是為什麼使用觀察者模式重新實現ptp主迴圈的原因。
設計模式僅僅是一種命名規則,其實裡面那些東西自己都會用到的,但是有個統一的名字,說出來大家就知道是什麼了。
為什麼不用實時作業系統,目前感覺不帶系統編寫起來更簡單一些,不知道以後陸續增加上rtp、sip、sap等協議再加上其它功能後會怎樣。目前的功能(lwip+dns-sd+ptp)來看,很好維護與除錯,當然是指被我重新架構之後的**。
PTP移植筆記七 哈哈!時鐘校時功能
全部重構了原來的 處理架構。果然還是自己的 看著爽。原ptpd的原始碼保留的標頭檔案和一些功能性的函式,比如資料結構定義 解包 打包 計算函式等,和我開始想的一樣。雖然不如原來功能完善,但是感覺清爽 整齊多了。做好的資訊也一下滿滿的!哈哈哈!果然還是要用自己的 重複造輪子,還不是因為原來的輪子不好用...
OC學習筆記十 Block與 protocol
block是一種資料型別,封裝了一段 可以在任何時候執行。block 可以在程式執行時儲存一段 函式不行 block 跟函式一樣,有返回值,形參。block 以 表示一段 block block變數 以 返回值型別 block 名稱 形參型別 表示乙個 block 型別的變數。和以前學過的 c語言的...
第5章 模組與函式 筆記十
第5章 模組與函式 實驗5.3 模組實驗 按照要求,完成如下任務。1 按照屬性名稱company和name,把公司名稱 資料可視分析 2 改寫4個函式,為每個函式的形參設定合理的預設值 3 利用模組atest.py,改寫四則運算測試系統atest.py和altest.py,退出系統時,新增並顯示公司...