[問題] 請問protocol stack data傳遞
假設有 A->B->C 三層 A最上層 C最下層
在此protocol stack中A產生的data會pass給B
B將A的data當作payload再加上自己的header再pass給C
pseudo code大概是
A_Send(){
B_Send(a_msg);
}
B_Send(a_msg){
b_msg = b_hdr + a_msg;
C_Send(b_msg);
}
一般我看到的實作方式好像都是
收到上層資料後配置一塊記憶體
填入header再把上層傳來的memory copy過去
每一層都要做一次 配置記憶體和複製資料
感覺很沒效率 是不是有其他好的方法來解決這種問題?
希望是C可以做得到
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.1.252
→
03/31 19:01, , 1F
03/31 19:01, 1F
→
03/31 19:01, , 2F
03/31 19:01, 2F
→
03/31 19:02, , 3F
03/31 19:02, 3F
→
03/31 19:03, , 4F
03/31 19:03, 4F
A先配置這樣好像有點破壞分層
因為要知道其他層的東西才知道自己要從哪裡開始塞資料
※ 編輯: snh 來自: 175.181.245.217 (04/01 20:48)
→
04/02 18:40, , 5F
04/02 18:40, 5F