[問題] 請問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 20:10, , 1F
03/31 20:10, 1F
→
03/31 20:11, , 2F
03/31 20:11, 2F
→
03/31 20:28, , 3F
03/31 20:28, 3F
→
03/31 20:28, , 4F
03/31 20:28, 4F
→
03/31 20:29, , 5F
03/31 20:29, 5F
LPH大可能誤會最後一句
C是指C語言 已修改
效率的意思是
A的資料在B會copy一次
到C時屬於A層的資料又會copy一次
同樣的資料 傳幾層就會copy幾次
※ 編輯: snh 來自: 175.181.245.217 (03/31 20:51)
→
04/01 00:21, , 6F
04/01 00:21, 6F
→
04/01 01:38, , 7F
04/01 01:38, 7F
→
04/01 01:38, , 8F
04/01 01:38, 8F
→
04/01 01:39, , 9F
04/01 01:39, 9F
→
04/01 01:39, , 10F
04/01 01:39, 10F
→
04/01 12:16, , 11F
04/01 12:16, 11F
→
04/01 20:39, , 12F
04/01 20:39, 12F
→
04/01 20:53, , 13F
04/01 20:53, 13F
推
04/04 01:15, , 14F
04/04 01:15, 14F
alumi7大 可以給keyword嗎? 謝謝
※ 編輯: snh 來自: 175.181.245.217 (04/06 21:06)