精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一篇帶給你Lwip數(shù)據(jù)包管理

開發(fā) 前端
LWIP是TCP/IP協(xié)議棧的一種具體實(shí)現(xiàn),本質(zhì)就是對(duì)數(shù)據(jù)包的處理,在LWIP中使用一個(gè)被稱為pbuf的結(jié)構(gòu)管理數(shù)據(jù)包,LWIP源碼中的pbuf.c和pbuf.h這兩個(gè)文件就是關(guān)于pbuf的,本篇就帶你一起學(xué)習(xí)Lwip數(shù)據(jù)包管理。

[[392397]]

1.1、pbuf結(jié)構(gòu)

LWIP是TCP/IP協(xié)議棧的一種具體實(shí)現(xiàn),本質(zhì)就是對(duì)數(shù)據(jù)包的處理,在LWIP中使用一個(gè)被稱為pbuf的結(jié)構(gòu)管理數(shù)據(jù)包,LWIP源碼中的pbuf.c和pbuf.h這兩個(gè)文件就是關(guān)于pbuf的,pbuf結(jié)構(gòu)如下:

在pbuf.h文件中


下面是翻譯版

  1. struct pbuf 
  2.      struct pbuf      *next;  //構(gòu)成鏈表的時(shí)候指向下一個(gè)pbuf 
  3.      void              *payload; //指向數(shù)據(jù)緩沖區(qū) 
  4.      u16_t   tot_len; //pbuf鏈表中所有pbuf的數(shù)據(jù)長(zhǎng)度 
  5.      u16_t   len;  //當(dāng)前bpuf中的數(shù)據(jù)長(zhǎng)度 
  6.      u8_t     type;  //pbuf類型 
  7.      u8_t   flags;  //狀態(tài) 
  8.      u16_t   ref;  //用來記錄當(dāng)前pbuf被引用的次數(shù) 
  9. }; 

1.2、tot_len

說一下tot_len的講解

大家最好理解一下英文的意思,我說完中文,再回頭看一下英文。

1.3、type

下面我們看一下type

從這里可是使用編譯器跳過去

也就是pbuf_type的類型有

 

  1. typedef enum 
  2.     PBUF_RAM,  //pbuf數(shù)據(jù)緊跟著pbuf的結(jié)構(gòu)存儲(chǔ),數(shù)據(jù)存儲(chǔ)在ram中 
  3.     PBUF_ROM,    //pbuf數(shù)據(jù)存儲(chǔ)在rom中 
  4.     PBUF_REF,  //pbuf數(shù)據(jù)存儲(chǔ)在ram中,但是與pbuf結(jié)構(gòu)的位置無關(guān) 
  5.     PBUF_POOL   //pbuf結(jié)構(gòu)和其數(shù)據(jù)存儲(chǔ)在同一個(gè)內(nèi)存池中 
  6. } pbuf_type; 

分別講一下這四種類型

1.3.1、PBUF_RAM

PBUF_RAM類型的pbuf空間是從LWIP的內(nèi)存堆中申請(qǐng)得到的,協(xié)議棧和應(yīng)用程序中的待發(fā)送數(shù)據(jù)就是采用的這種方法,pbuf的申請(qǐng)是在pbuf_alloc()中進(jìn)行的,PBUF_RAM類型的申請(qǐng)代碼如下:

在pbuf.c文件中pbuf_alloc函數(shù)

看到mem_malloc()函數(shù),知道是從內(nèi)存堆里申請(qǐng)的內(nèi)存

申請(qǐng)的大小是:pbuf的大小+ 實(shí)際申請(qǐng)的大小

offset是一個(gè)偏移,這個(gè)offset里面用來存儲(chǔ)一些首部字段,如TCP報(bào)文首部,IP首部等等。

最終申請(qǐng)出來的PBUF_RAM類型的pbuf結(jié)構(gòu)是

下圖1部分的就是pbuf結(jié)構(gòu)部分

2部分是offset部分

1.3.2、PBUF_POOL

PBUF_POOL類型的pbuf空間是從LWIP的內(nèi)存池中申請(qǐng)得到的,因?yàn)槭菑膬?nèi)存池中申請(qǐng)的,所以這種類型的pbuf分配時(shí)間極短,在網(wǎng)卡接收數(shù)據(jù)包時(shí),我們使用這種方式:

在pbuf.c文件中pbuf_alloc函數(shù)

既然PBUF_POOL類型是在內(nèi)存池中申請(qǐng)的,那么就必須得有對(duì)應(yīng)的POOL類型,在LWIP初始化的時(shí)候就會(huì)自動(dòng)的兩類與pbuf相關(guān)的POOL:MEMP_PBUF和MEMP_PBUF_POOL(在memp_std.h中),其中MEMP_PBUF是用于PBUF_REF和PBUF_ROM這兩類的,MEMP_PBUF_POOL是用于PBUF_POOL類型的。

事實(shí)上應(yīng)用程序發(fā)送和接收的數(shù)據(jù)量可能很大,但是內(nèi)存池類型的內(nèi)存分配每次分配到的大小是固定的,因此可能會(huì)需要進(jìn)行多次分配,最終的分配成功的PBUF_POOL類型的pbuf如下圖:

注意看,上圖中只有第一個(gè)pbuf有offset,這是因?yàn)檫@都是一個(gè)數(shù)據(jù)包的,因此只需要一個(gè)offset來存儲(chǔ)有關(guān)數(shù)據(jù)包的信息,其他的pbuf就不需要了!這部分也是在代碼中體現(xiàn)過的

第一個(gè)pbuf的payload

后續(xù)的pbuf的payload


 

1.3.3、PBUF_ROM和PBUF_REF

PBUF_ROM和PBUF_REF類型的pbuf空間也是從LWIP的內(nèi)存池中申請(qǐng)得到的,分配方法都一樣的,他們使用內(nèi)存池MEMP_PBUF,這兩種類型申請(qǐng)的是指pbuf結(jié)構(gòu)體的內(nèi)存空間,并不包含數(shù)據(jù)空間,分配過程如下:

PBUF_ROM和PBUF_REF并沒有給數(shù)據(jù)空間申請(qǐng)內(nèi)存,那么他們的數(shù)據(jù)空間在哪里呢?這兩個(gè)的數(shù)據(jù)空間可以應(yīng)用其他地方的內(nèi)存,不同之處在于PBUF_ROM的數(shù)據(jù)空間在ROM中,PBUF_REF的數(shù)據(jù)空間在RAM中。這兩種類型的pbuf最終如下:

1.3.4、多種類型pbuf混合使用

實(shí)際的數(shù)據(jù)包可能會(huì)同時(shí)使用多種類型的pbuf,如下圖:

02數(shù)據(jù)包申請(qǐng)和釋放

pbuf的申請(qǐng)和釋放通過函數(shù)pbuf_alloc()和pbuf_free()來完成,pbuf_alloc()函數(shù)和pbuf_free()函數(shù)原型如下:

  1. pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type) 
  2. pbuf_free(struct pbuf *p) 

pbuf_alloc()函數(shù)有兩個(gè)重要的參數(shù):layer和type,layer決定是協(xié)議棧的哪一層申請(qǐng)的,type決定申請(qǐng)的pbuf類型,layer決定了pbuf中的offset,也就是pbuf數(shù)據(jù)區(qū)中衛(wèi)協(xié)議預(yù)留的首部空間,pbuf.h文件定義了一個(gè)枚舉類型pbuf_layer來描述LWIP中的層,如下:

  1. typedef enum {    
  2.   PBUF_TRANSPORT,    
  3.   PBUF_IP,   
  4.   PBUF_LINK,    
  5.   PBUF_RAW  
  6. } pbuf_layer; 

 

責(zé)任編輯:姜華 來源: 知曉編程
相關(guān)推薦

2021-04-23 08:31:50

Lwipnetif網(wǎng)絡(luò)開發(fā)

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2022-04-29 14:38:49

class文件結(jié)構(gòu)分析

2021-07-21 09:48:20

etcd-wal模塊解析數(shù)據(jù)庫(kù)

2021-03-12 09:21:31

MySQL數(shù)據(jù)庫(kù)邏輯架構(gòu)

2021-04-14 14:16:58

HttpHttp協(xié)議網(wǎng)絡(luò)協(xié)議

2024-06-13 08:34:48

2023-03-29 07:45:58

VS編輯區(qū)編程工具

2022-02-17 08:53:38

ElasticSea集群部署

2021-06-21 14:36:46

Vite 前端工程化工具

2022-03-22 09:09:17

HookReact前端

2021-04-01 10:51:55

MySQL鎖機(jī)制數(shù)據(jù)庫(kù)

2021-04-08 11:00:56

CountDownLaJava進(jìn)階開發(fā)

2021-01-28 08:55:48

Elasticsear數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)

2021-07-08 07:30:13

Webpack 前端Tree shakin

2023-03-13 09:31:04

2022-02-25 15:50:05

OpenHarmonToggle組件鴻蒙

2021-04-14 07:55:45

Swift 協(xié)議Protocol

2021-05-08 08:36:40

ObjectString前端

2021-10-28 08:51:53

GPIO軟件框架 Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美丰满熟妇bbb久久久| 少妇免费毛片久久久久久久久| 黑人巨大精品一区二区在线| 日韩欧美中文在线观看| 亚洲成人在线免费| 日本黑人久久| a级片免费视频| 国产精品呻吟| 久久精品2019中文字幕| 伊人久久一区二区三区| 日本在线中文字幕一区二区三区| **性色生活片久久毛片| 国产区欧美区日韩区| 日本黄色一级视频| 欧美视频一区| 亚洲人成网站在线播| 在线视频观看91| 麻豆免费在线| 亚洲品质自拍视频| 免费99视频| 超碰免费在线97| 日本亚洲免费观看| 97精品国产97久久久久久免费| 女人十八毛片嫩草av| 成午夜精品一区二区三区软件| 在线视频国产一区| 欧美一级视频免费看| 三级外国片在线观看视频| 国产盗摄精品一区二区三区在线| 国产精品久久久久久av下载红粉 | 欧美激情网友自拍| 国产精品18在线| 久久99国产成人小视频| 精品久久一区二区三区| 精品久久久99| 日本成人福利| 疯狂做受xxxx欧美肥白少妇 | 亚洲免费网站| 欧美激情在线观看| 岛国毛片在线观看| 天堂美国久久| 中文字幕日韩有码| 欧美特级黄色录像| 亚洲电影一级片| 亚洲电影av在线| 麻豆tv在线观看| 清纯唯美激情亚洲| 日韩欧美一区电影| 天天色天天干天天色| 外国成人毛片| 在线电影院国产精品| 久久久精品三级| 电影亚洲精品噜噜在线观看| 大桥未久av一区二区三区| 亚洲精品一区久久久久久| 手机在线成人免费视频| 日韩三区免费| 在线亚洲高清视频| 国产成人精品视频ⅴa片软件竹菊| free性m.freesex欧美| 亚洲一级电影视频| 精品一区二区三区无码视频| 在线观看中文字幕的网站| 亚洲精品视频自拍| 2022中文字幕| 免费在线中文字幕| 亚洲第一狼人社区| 欧美在线观看www| 韩国成人漫画| 欧美性猛片xxxx免费看久爱| www.涩涩涩| 深夜福利亚洲| 日韩欧美综合一区| 亚洲av人人澡人人爽人人夜夜| 777久久精品| 国产视频在线观看一区二区| 国产精品毛片一区二区| 欧美日韩激情| 久久精品中文字幕| 国产高清在线免费观看| 亚洲少妇一区| 国产精品扒开腿做| 国产精品无码在线播放| 国产福利91精品一区二区三区| 国产一区二区三区四区五区在线 | 亚洲欧洲在线播放| 亚洲欧美另类日本| 欧美激情aⅴ一区二区三区| 国内精品400部情侣激情| 亚洲欧美综合另类| 免费在线观看精品| av一区和二区| 欧美亚洲日本| 国产精品国产三级国产普通话99 | 俄罗斯精品一区二区| 少妇又色又爽又黄的视频| 久久久久久久久久美女| 一级特黄录像免费播放全99| 视频在线观看入口黄最新永久免费国产| 亚洲伊人色欲综合网| 北条麻妃在线观看| 四虎影视成人精品国库在线观看| 欧美第一区第二区| 国产伦理片在线观看| 一区二区蜜桃| 啪一啪鲁一鲁2019在线视频| 国产精品视频在线观看免费| 99久久99久久综合| 最新av在线免费观看| 在线能看的av网址| 欧美一区二区不卡视频| 丰满少妇高潮一区二区| 欧美午夜一区| 国产精品免费一区| 日韩一级免费毛片| 国产精品国产成人国产三级| 丝袜老师办公室里做好紧好爽| 日本亚洲欧洲无免费码在线| 精品丝袜一区二区三区| 麻豆chinese极品少妇| 日本女人一区二区三区| 精品毛片久久久久久| 99热国产在线| 欧美亚洲一区二区在线| 中文字幕免费在线播放| 综合五月激情网| 精品久久中文| 91国内揄拍国内精品对白| 国产日韩欧美视频在线观看| 久久夜色精品国产欧美乱极品| 午夜啪啪福利视频| 亚洲不卡系列| 亚洲伦理中文字幕| 国产无套在线观看| 国产成人综合亚洲网站| 自拍偷拍99| 素人啪啪色综合| 亚洲人成在线观看| 日韩特级黄色片| 97久久精品人人澡人人爽| 亚洲色欲久久久综合网东京热| 国产精品2区| xxav国产精品美女主播| 在线视频播放大全| 国产精品视频yy9299一区| 激情综合网俺也去| 一本色道久久综合亚洲精品酒店 | 中文字幕亚洲精品一区| 国产成人免费在线| 国产成人一二三区| 日韩欧洲国产| 欧美精品久久久久久久免费观看| 国内精品国产成人国产三级| 亚洲精品美国一| 国产伦精品一区二区三区妓女下载| 五月天久久久| 亚洲自拍小视频免费观看| 中文在线字幕免费观看| 日韩一区二区精品葵司在线| 东方av正在进入| 国产精品888| 岛国大片在线播放| 亚洲另类av| 国产成人精品免高潮费视频| freemovies性欧美| 欧美三级乱人伦电影| 久久日免费视频| 国产精品vip| 国产高清自拍一区| 青青在线视频| 91麻豆精品国产无毒不卡在线观看| 成人性视频免费看| 麻豆视频一区二区| 91免费视频黄| 久久久91麻豆精品国产一区| 国内免费精品永久在线视频| 香蕉视频国产在线| 欧美性xxxxxxx| 日韩在线免费观看av| 久热国产精品| 亚洲图片欧洲图片日韩av| 黄瓜视频成人app免费| 伊人成人开心激情综合网| 自拍偷拍色综合| 中文字幕va一区二区三区| 亚洲欧美在线精品| 国产精品久久久乱弄| 亚洲最大av在线| free性欧美| 一区二区三区四区在线观看视频| 中文在线免费观看| 亚洲天堂久久久久久久| 少妇献身老头系列| 欧美一区成人| 日本黄网免费一区二区精品| www.精品国产| 欧美大胆a视频| 日韩有码第一页| 欧美日韩精品免费观看视频| 日韩视频中文字幕在线观看| 成人黄色一级视频| 久久久久久久久久久福利| 日韩欧美不卡| 91久久偷偷做嫩草影院| 波多野结衣视频一区二区| 亚洲欧美一区二区三区久久| 一级做a爱片性色毛片| 精品成人av一区| youjizz亚洲女人| 国产·精品毛片| 亚洲乱码国产一区三区| 影音先锋日韩资源| 日韩福利影院| 91麻豆精品激情在线观看最新| 77777少妇光屁股久久一区| 先锋av资源站| 欧美成人精品二区三区99精品| 黄色片网站在线免费观看| 国产精品久久二区二区| 国产视频久久久久久| 国产一区二区三区久久久| 日韩精品一区二区三区久久| 欧美不卡在线| 日韩精品久久久免费观看| 精品三级在线观看视频| 国产欧美日韩免费看aⅴ视频| 黄色在线免费观看网站| 日韩在线精品视频| 国精品人妻无码一区二区三区喝尿 | 三区四区电影在线观看| 日韩成人小视频| 国产视频一区二区三区四区五区| 日韩欧美在线观看| 欧美一区二区激情视频| 一区二区三区蜜桃网| 国产三级黄色片| av亚洲产国偷v产偷v自拍| 伊人av在线播放| 久久99精品久久久| 日韩福利视频在线| 99精品国产在热久久婷婷| www.在线观看av| 中文精品电影| 午夜一区二区三区| 亚洲盗摄视频| 欧美日韩电影一区二区| 激情小说一区| 国产chinese精品一区二区| 久久青草免费| 国产成人极品视频| 国产精品论坛| 久久久久久国产精品美女| 国产激情视频在线| 久热精品视频在线免费观看| 成人在线视频成人| 亚洲欧美国内爽妇网| 十八禁一区二区三区| 亚洲国产精品网站| 色婷婷av一区二区三区之e本道| 欧美一级理论性理论a| 亚洲综合精品视频| 91麻豆精品国产自产在线| 国产精品久久久久久免费播放| 在线精品视频免费播放| 无码人妻av一区二区三区波多野| 欧美日韩亚洲综合一区二区三区| 69xxxx国产| 日本道色综合久久| 成人午夜精品视频| 欧美久久久久中文字幕| 在线免费看91| 欧美一二三区在线观看| 性欧美18一19性猛交| 亚洲国产三级网| 艳母动漫在线看| 亚洲免费一在线| 黑人操亚洲女人| 亚洲人成在线观| 日本激情视频在线观看| 久久夜色精品国产| 99thz桃花论族在线播放| 韩剧1988在线观看免费完整版| segui88久久综合9999| 777777777亚洲妇女| 日韩成人精品一区二区三区| 91亚洲国产精品| 懂色av一区二区| 久久手机视频| 亚洲国产精品久久久天堂| 国产一区二区三区播放| 在线不卡欧美| 亚洲不卡中文字幕无码| 看片网站欧美日韩| 韩国黄色一级片| 91麻豆精品秘密| 五月婷婷一区二区| 精品高清美女精品国产区| 午夜精品免费观看| 欧美日韩中文字幕精品| 日日夜夜精品免费| 中文字幕亚洲综合久久| 羞羞网站在线免费观看| 欧美又大又粗又长| 色综合久久久| 久久爱av电影| 97国产成人高清在线观看| 日本一区二区黄色| 国产一区二区精品久久99| 欧类av怡春院| 一区二区三区在线观看国产| 久久久久久久久久免费视频| 欧美影片第一页| 亚洲精品无遮挡| 久久这里只有精品99| 手机av在线| 国产精品主播视频| 自拍偷拍精品| 国内自拍中文字幕| 日本亚洲三级在线| 色欲无码人妻久久精品| 国产精品久久久久久久久免费桃花| 久久久久久久9999| 欧美性极品少妇| 性感美女一级片| 欧美精品手机在线| 美女写真久久影院| www.成人av| 中文字幕一区二区精品区| 无码无遮挡又大又爽又黄的视频| 国产一区高清在线| 日本美女黄色一级片| 一本一本大道香蕉久在线精品 | 久色成人在线| 中文字幕制服丝袜| 一区二区三区在线观看动漫| 国产一级片一区二区| 亚洲激情自拍图| а√天堂中文在线资源8| 亚洲www在线| 色综合蜜月久久综合网| 欧美a在线视频| 99国产精品一区| 国产亚洲欧美久久久久| 在线综合+亚洲+欧美中文字幕| 精品黄色免费中文电影在线播放| 国产成人一区二区三区| 欧美精品中文| 久久久久久久久久久久久国产精品| 粉嫩绯色av一区二区在线观看| 国产中文字幕久久| 色综合色综合色综合色综合色综合| 天堂av资源在线| 国内精品久久久久伊人av| 激情久久免费视频| 佐佐木明希av| 国产一区二区三区精品欧美日韩一区二区三区 | 人人精品久久| 欧美在线一区二区三区四区| 久热国产精品| 精品国产av无码| 精品久久中文字幕久久av| 亚洲乱熟女一区二区| 欧美激情视频在线| 精品午夜电影| 国产一级爱c视频| 91丝袜高跟美女视频| 久久久久久久久久免费视频| 亚洲国产精品系列| 碰碰在线视频| 国产亚洲第一区| 国产精品外国| asian性开放少妇pics| 欧美午夜www高清视频| 二人午夜免费观看在线视频| 国产精品久久久久久中文字| 国产精品一区二区av交换| xxww在线观看| 亚洲色图欧美激情| www.亚洲黄色| 国产成人在线一区二区| 欧美日韩久久精品| 伊人国产精品视频| 亚洲线精品一区二区三区| 污污视频在线观看网站| 国产成人av网址| 国产国产精品| 国产一线在线观看| 色综合久久中文字幕| 国精产品一区| 国产综合欧美在线看| 日产欧产美韩系列久久99| 日本福利片在线观看| 精品久久久久久久人人人人传媒 | 国产aⅴ爽av久久久久成人| 高清欧美性猛交xxxx| 蜜桃一区二区| 色综合久久久无码中文字幕波多| 污片在线观看一区二区| 超碰国产在线| 国产欧美日韩亚洲|