ccp與核心互動

2021-09-12 23:37:24 字數 1282 閱讀 2386

ccp和核心互動方式和cubic bbr一樣

1.把自身加入到核心擁塞演算法中

return tcp_register_congestion_control(&tcp_ccp_congestion_ops);
2.使用sock的icsk_ca_priv儲存並且標識每個sock的資料

icsk_ca_priv是每個sock的私有資料

大小如下

#linux/include/net/inet_connection_sock.h

struct inet_connection_sock

struct ccp_connection

//tcp_register_congestion_control(&tcp_ccp_congestion_ops);

//後所有tcp都通過tcp_ccp_init(struct sock *sk)初始化

struct tcp_sock *tp = tcp_sk(sk);

struct ccp_datapath_info dp = ;

cpl = inet_csk_ca(sk);

cpl->dp = ccp_connection_start((void *) sk, &dp);

//ccp_connection_start完成後

//sock的icsk_ca_priv(sk)->dp指向的struct ccp_connection包含了這一條tcp sock的詳細屬性

cpl->dp->conn->impl = impl;//impl就是tcp sock

cpl->dp->conn->index = sid + 1;//分配乙個sid作為conn->index用於唯一標識一條tcp sock鏈結

send_conn_create(datapath, conn){

msg_size = write_create_msg(msg, report_msg_size, conn->index, cr);

ok = datapath->send_msg(datapath, conn, msg, msg_size);

//每條tcp sock的建立都必須通過netlink告知使用者態程式

邊緣與互動密度

市面上現有的主流手機作業系統有一些優秀的體驗,比如android從頂部下滑出的通知中心。palm的context menu 從螢幕下部的感應區撥出。nokia n9 就更為純粹,把just swipe 從側面滑動切換手機態視為核心的設計理念。仔細看還挺邪門兒的,從頂部向下,從底部向上,從側面向內 它...

變數與程式互動

變數 變數是什麼?為什麼要有變數 乙個是變 核心在於變化 乙個是量 衡量,計量,表達的一種狀態 變數定於規則 1 只能是數字 字母 下劃線的任意組合 2 不能以數字開頭 3 關鍵字不能作為變數 變數名的定義方式 1 駝峰體 oldboy 2 下劃線 old boy 值的引用計數沒有被引用就會自動 p...

與遊戲世界互動

單例模式 singleton pattern 是程式設計中最簡單的設計模式之一。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。這種模式涉及到乙個單一的類,該類負責建立自己的物件,同時確保只有單個物件被建立。這個類提供了一種訪問其唯一的物件的方式,可以直接訪問,不需要例項化該類的物...