原创 【翻譯】Chromium 網絡棧 disk cache 設計原理

英文原文鏈接 1、概覽 The disk cache stores resources fetched from the web so that they can be accessed quickly at a latter t

原创 Linux 命令彙總(持續增加中)

ls ls --full-time 查看文件具體的創建時間,精確到毫秒

原创 QUIC BBR Cubic 效果對比【無線場景】

【兄弟篇:有線場景下的對比】 TCP 在較高丟包率場景不能較好的工作,因此對比試驗不包含 TCP,只對比 QUIC-cubic 和 QUIC BBR 在不同丟包率、延時場景下的上傳時長(單位:秒),上傳文件大小爲 7.6M,網絡環

原创 【翻譯】ietf-quic-draft-24: 8. Address Validation

英文原文鏈接:8. Address Validation 地址有效性被 QUIC 用於防止流量放大攻擊。在這種攻擊下,攻擊者使用受害者的地址作爲包的源地 址併發送給服務端。如果服務端生成更多或者更大的包作爲攻擊包的響應,攻擊

原创 【翻譯】ietf-quic-draft-24: 7. Cryptographic and Transport Handshake

英文原文鏈接:7、加密握手 7.2 Negotiating Connection IDs 如 5.1 所述,一個連接 ID 用於確保 QUIC 包被正確路由到目標機器。長包頭包含兩個連接 ID: 目的 ID 的值由包的接收者選取

原创 【翻譯】chromium 網絡棧 disk_cache API 的用途介紹

文檔主要描述了 disk_cache API 的主要用途,以及三種 API 實現的簡單介紹,英文原文。 1、disk_cache API The disk_cache API provides for caches that ca

原创 文件 I/O API 簡要介紹:read, pread 和 readv, preadv

在 linux 平臺,如果想從文件描述符中讀取數據,主要通過以下 API 實現,當然還有其他 API。 ssize_t read(int fd, void *buf, size_t nbyte); ssize_t pread(in

原创 精簡 chromium 源碼後編譯 Android cronet 失敗:undefined symbol: iswblank

0、緣起 由於工作需要,團隊決定自己維護一份 Android cronet 庫的源碼,但由於 chromium 項目代碼過於龐大,需要移除不必要的代碼,移除之後再編譯來測試是否成功編譯出 cronet 庫。 精簡過程中需要刪除一些

原创 QUIC BBR Cubic 效果對比【有線場景】

【兄弟篇:無線場景下的對比】 TCP 在較高丟包率場景不能較好的工作,因此對比試驗不包含 TCP,只對比 QUIC-cubic 和 QUIC BBR 在不同丟包率、延時場景下的上傳時長(單位:秒),上傳文件大小爲 7.6M,網絡環

原创 拉取 chromium 指定版本的倉庫代碼

在編譯指定版本(比如 75.0.3770)的 cronet-ios 時,總是出現下圖的錯誤 is not one of the valid types: 主要錯誤內容爲:Only source, header, and obje

原创 在 VMware Fusion 11.5 的 ubuntu 1804 虛擬機中共享 mac 主機文件夾

1、依次選擇 虛擬機 -> 共享,然後點擊 “+” ,在彈出的窗口中選擇 mac 下需要共享的目錄即可,注意勾選 “啓用共享文件夾”。 2、在 ubuntu1804 終端安裝 open-vm-tools sudo a

原创 Ubuntu 1804 編譯 Android Cronet 時安裝依賴項

Android Cronet 需要在 linux 平臺下編譯,因爲部分工具只能在 Ubuntu 上執行(Chromium 項目大部分開發工作是在 Ubuntu 上完成的),因此優先選擇 Ubuntu 系統。 編譯 Cronet 庫

原创 改造 cronet 庫使得 安卓 release SDK 可以捕獲 cronet 庫 QUIC 相關日誌實踐

1、背景介紹 在我們移動端文件上傳場景中,嘗試使用 QUIC 協議來優化上傳效果,爲了準確的分析上傳失敗的任務,需要建立上傳任務與 QUIC 連接的關聯性; 當前每個上傳任務結束時,或失敗或成功都會上報一條日誌,我們打算在啓用了

原创 編譯 cronet 靜態庫—— ios 版本

cronet 是 Chromium 用於移動端的網絡庫,提供了 Java 和 OC 的 API,支持 HTTP/HTTPS/QUIC/SPDY 等協議。 本文主要參考此文獻 1、依賴 1.1 depot_tools 通過下面指令安

原创 shell 腳本易錯點記錄

今天需要完成一個 nginx 服務的啓停控制腳本,是服務可以一鍵完成啓動、停止、重載等功能。 完成腳本的過程中會遇到一些老朋友, 但許久不見再見面還是會感到陌生,因此記錄一下以加深記憶。 1. “[: =: unary opera