日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

redis源码笔记-adlist

發(fā)布時(shí)間:2024/4/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis源码笔记-adlist 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

adlist是redis自己是實(shí)現(xiàn)的一個(gè)通用的雙向鏈表。

------------------------------------------------adlist.h---------------------------------------------------

#ifndef __ADLIST_H__ #define __ADLIST_H__/* Node, List, and Iterator are the only data structures used currently. */typedef struct listNode { struct listNode *prev; struct listNode *next; void *value; } listNode; 雙向鏈表,存的結(jié)構(gòu)是一個(gè)指針void*typedef struct listIter { listNode *next; int direction; } listIter; 迭代器,可以向前遍歷,也可以向后遍歷;typedef struct list { listNode *head; listNode *tail; void *(*dup)(void *ptr); void (*free)(void *ptr); int (*match)(void *ptr, void *key); unsigned int len; } list; 鏈表本身的結(jié)構(gòu),頭、尾指針,同時(shí)一個(gè)函數(shù)指針dup用于在復(fù)制鏈表(list or listNode?)調(diào)用,一個(gè)函數(shù)指針free在釋放鏈表時(shí)調(diào)用,一個(gè)函數(shù)指針match用來(lái)作匹配時(shí)調(diào)用,以及一個(gè)記錄鏈表長(zhǎng)度的字段;注意三個(gè)函數(shù)指針是list的成員,也就是被所有l(wèi)ist node共用,因此listNode應(yīng)該具有共性。/* Functions implemented as macros */ #define listLength(l) ((l)->len) 鏈表長(zhǎng)度 #define listFirst(l) ((l)->head) 鏈表的第一個(gè)結(jié)點(diǎn) #define listLast(l) ((l)->tail) 鏈表的最后一個(gè)結(jié)點(diǎn) #define listPrevNode(n) ((n)->prev) 當(dāng)前結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn) #define listNextNode(n) ((n)->next) 當(dāng)前結(jié)點(diǎn)的后一個(gè)結(jié)點(diǎn) #define listNodeValue(n) ((n)->value) 當(dāng)前結(jié)點(diǎn)的值#define listSetDupMethod(l,m) ((l)->dup = (m)) #define listSetFreeMethod(l,m) ((l)->free = (m)) #define listSetMatchMethod(l,m) ((l)->match = (m)) set三個(gè)函數(shù)指針的方法#define listGetDupMethod(l) ((l)->dup) #define listGetFree(l) ((l)->free) #define listGetMatchMethod(l) ((l)->match) get三個(gè)函數(shù)指針的方法/* Prototypes */ list *listCreate(void); 創(chuàng)建鏈表 void listRelease(list *list); 釋放鏈表 list *listAddNodeHead(list *list, void *value); 在表頭加一個(gè)結(jié)點(diǎn) list *listAddNodeTail(list *list, void *value); 在表尾加一個(gè)結(jié)點(diǎn) list *listInsertNode(list *list, listNode *old_node, void *value, int after); void listDelNode(list *list, listNode *node); listIter *listGetIterator(list *list, int direction); listNode *listNext(listIter *iter); void listReleaseIterator(listIter *iter); list *listDup(list *orig); listNode *listSearchKey(list *list, void *key); listNode *listIndex(list *list, int index); void listRewind(list *list, listIter *li); void listRewindTail(list *list, listIter *li);/* Directions for iterators */ #define AL_START_HEAD 0 #define AL_START_TAIL 1 定義迭代器方向#endif /* __ADLIST_H__ */

?

?

------------------------------------------------adlist.c---------------------------------------------------

1 #include <stdlib.h> 2 #include "adlist.h" 3 #include "zmalloc.h" //redis對(duì)內(nèi)存分配庫(kù)函數(shù)的一個(gè)封裝,用于stat目的 4 5 /* Create a new list. The created list can be freed with 6 * AlFreeList(), but private value of every node need to be freed 7 * by the user before to call AlFreeList(). 8 * 9 * On error, NULL is returned. Otherwise the pointer to the new list. */ 10 list *listCreate(void) 11 { 12 struct list *list; 13 14 if ((list = zmalloc(sizeof(*list))) == NULL) 15 return NULL; 16 list->head = list->tail = NULL; 17 list->len = 0; 18 list->dup = NULL; 19 list->free = NULL; 20 list->match = NULL; 21 return list; 22 } //這個(gè)函數(shù)創(chuàng)建的list是個(gè)裸的list,三個(gè)函數(shù)指針需要自行調(diào)用set賦值 23 24 /* Free the whole list. 25 * 26 * This function can't fail. */ 27 void listRelease(list *list) 28 { 29 unsigned int len; 30 listNode *current, *next; 31 32 current = list->head; 33 len = list->len; 34 while(len--) { 35 next = current->next; 36 if (list->free) list->free(current->value); // 37 zfree(current); 38 current = next; 39 } 40 zfree(list); 41 } //先用free釋放listNode中保存的元素,然后釋放結(jié)點(diǎn),最后釋放鏈表本身。在鏈表操作中,注意在釋放當(dāng)前結(jié)點(diǎn)時(shí),需要保存后續(xù)結(jié)點(diǎn)的值 42 43 /* Add a new node to the list, to head, contaning the specified 'value' 44 * pointer as value. 45 * 46 * On error, NULL is returned and no operation is performed (i.e. the 47 * list remains unaltered). 48 * On success the 'list' pointer you pass to the function is returned. */ 49 list *listAddNodeHead(list *list, void *value) 50 { 51 listNode *node; 52 53 if ((node = zmalloc(sizeof(*node))) == NULL) 54 return NULL; 55 node->value = value; 56 if (list->len == 0) { 57 list->head = list->tail = node; 58 node->prev = node->next = NULL; 59 } else { 60 node->prev = NULL; 61 node->next = list->head; 62 list->head->prev = node; 63 list->head = node; 64 } 65 list->len++; 66 return list; 67 } 68 69 /* Add a new node to the list, to tail, contaning the specified 'value' 70 * pointer as value. 71 * 72 * On error, NULL is returned and no operation is performed (i.e. the 73 * list remains unaltered). 74 * On success the 'list' pointer you pass to the function is returned. */ 75 list *listAddNodeTail(list *list, void *value) 76 { 77 listNode *node; 78 79 if ((node = zmalloc(sizeof(*node))) == NULL) 80 return NULL; 81 node->value = value; 82 if (list->len == 0) { 83 list->head = list->tail = node; 84 node->prev = node->next = NULL; 85 } else { 86 node->prev = list->tail; 87 node->next = NULL; 88 list->tail->next = node; 89 list->tail = node; 90 } 91 list->len++; 92 return list; 93 } 94 95 list *listInsertNode(list *list, listNode *old_node, void *value, int after) { 96 listNode *node; 97 98 if ((node = zmalloc(sizeof(*node))) == NULL) 99 return NULL; 100 node->value = value; 101 if (after) { 102 node->prev = old_node; 103 node->next = old_node->next; 104 if (list->tail == old_node) { 105 list->tail = node; 106 } 107 } else { 108 node->next = old_node; 109 node->prev = old_node->prev; 110 if (list->head == old_node) { 111 list->head = node; 112 } 113 } 114 if (node->prev != NULL) { 115 node->prev->next = node; 116 } 117 if (node->next != NULL) { 118 node->next->prev = node; 119 } 120 list->len++; 121 return list; 122 } 123 124 /* Remove the specified node from the specified list. 125 * It's up to the caller to free the private value of the node. 126 * 127 * This function can't fail. */ 128 void listDelNode(list *list, listNode *node) 129 { 130 if (node->prev) 131 node->prev->next = node->next; 132 else 133 list->head = node->next; 134 if (node->next) 135 node->next->prev = node->prev; 136 else 137 list->tail = node->prev; 138 if (list->free) list->free(node->value); 139 zfree(node); 140 list->len--; 141 } 142 143 /* Returns a list iterator 'iter'. After the initialization every 144 * call to listNext() will return the next element of the list. 145 * 146 * This function can't fail. */ 147 listIter *listGetIterator(list *list, int direction) 148 { 149 listIter *iter; 150 151 if ((iter = zmalloc(sizeof(*iter))) == NULL) return NULL; 152 if (direction == AL_START_HEAD) 153 iter->next = list->head; 154 else 155 iter->next = list->tail; 156 iter->direction = direction; 157 return iter; 158 } 159 160 /* Release the iterator memory */ 161 void listReleaseIterator(listIter *iter) { 162 zfree(iter); 163 } 164 165 /* Create an iterator in the list private iterator structure */ 166 void listRewind(list *list, listIter *li) { 167 li->next = list->head; 168 li->direction = AL_START_HEAD; 169 } 170 171 void listRewindTail(list *list, listIter *li) { 172 li->next = list->tail; 173 li->direction = AL_START_TAIL; 174 } 175 176 /* Return the next element of an iterator. 177 * It's valid to remove the currently returned element using 178 * listDelNode(), but not to remove other elements. 179 * 180 * The function returns a pointer to the next element of the list, 181 * or NULL if there are no more elements, so the classical usage patter 182 * is: 183 * 184 * iter = listGetIterator(list,<direction>); 185 * while ((node = listNext(iter)) != NULL) { 186 * doSomethingWith(listNodeValue(node)); 187 * } 188 * 189 * */ 190 listNode *listNext(listIter *iter) 191 { 192 listNode *current = iter->next; 193 194 if (current != NULL) { 195 if (iter->direction == AL_START_HEAD) 196 iter->next = current->next; 197 else 198 iter->next = current->prev; 199 } 200 return current; 201 } //注意這個(gè)函數(shù),如果對(duì)返回值作delete操作,iter并未失效 202 203 /* Duplicate the whole list. On out of memory NULL is returned. 204 * On success a copy of the original list is returned. 205 * 206 * The 'Dup' method set with listSetDupMethod() function is used 207 * to copy the node value. Otherwise the same pointer value of 208 * the original node is used as value of the copied node. 209 * 210 * The original list both on success or error is never modified. */ 211 list *listDup(list *orig) 212 { 213 list *copy; 214 listIter *iter; 215 listNode *node; 216 217 if ((copy = listCreate()) == NULL) 218 return NULL; 219 copy->dup = orig->dup; 220 copy->free = orig->free; 221 copy->match = orig->match; 222 iter = listGetIterator(orig, AL_START_HEAD); 223 while((node = listNext(iter)) != NULL) { 224 void *value; 225 226 if (copy->dup) { 227 value = copy->dup(node->value); 228 if (value == NULL) { 229 listRelease(copy); 230 listReleaseIterator(iter); 231 return NULL; 232 } 233 } else 234 value = node->value; 235 if (listAddNodeTail(copy, value) == NULL) { 236 listRelease(copy); //這里疑似有內(nèi)存泄露,如果copy->dup被指定,并為value成功分配了內(nèi)存,但addNodeTail的時(shí)候失敗了,這塊內(nèi)存就沒(méi)人管了。 237 listReleaseIterator(iter); 238 return NULL; 239 } 240 } 241 listReleaseIterator(iter); 242 return copy; 243 } //如果沒(méi)有指定dup函數(shù)則是個(gè)淺拷貝,否則是個(gè)深拷貝。 244 245 /* Search the list for a node matching a given key. 246 * The match is performed using the 'match' method 247 * set with listSetMatchMethod(). If no 'match' method 248 * is set, the 'value' pointer of every node is directly 249 * compared with the 'key' pointer. 250 * 251 * On success the first matching node pointer is returned 252 * (search starts from head). If no matching node exists 253 * NULL is returned. */ 254 listNode *listSearchKey(list *list, void *key) 255 { 256 listIter *iter; 257 listNode *node; 258 259 iter = listGetIterator(list, AL_START_HEAD); 260 while((node = listNext(iter)) != NULL) { 261 if (list->match) { 262 if (list->match(node->value, key)) { 263 listReleaseIterator(iter); 264 return node; 265 } 266 } else { 267 if (key == node->value) { 268 listReleaseIterator(iter); 269 return node; 270 } 271 } 272 } 273 listReleaseIterator(iter); 274 return NULL; 275 } //O(n)的復(fù)雜度,n是鏈表長(zhǎng)度 276 277 /* Return the element at the specified zero-based index 278 * where 0 is the head, 1 is the element next to head 279 * and so on. Negative integers are used in order to count 280 * from the tail, -1 is the last element, -2 the penultimante 281 * and so on. If the index is out of range NULL is returned. */ 282 listNode *listIndex(list *list, int index) { 283 listNode *n; 284 285 if (index < 0) { 286 index = (-index)-1; //注意從后邊往前數(shù)時(shí)index的處理 287 n = list->tail; 288 while(index-- && n) n = n->prev; 289 } else { 290 n = list->head; 291 while(index-- && n) n = n->next; 292 } 293 return n; 294 }

轉(zhuǎn)載于:https://www.cnblogs.com/liuhao/archive/2012/05/10/2495196.html

總結(jié)

以上是生活随笔為你收集整理的redis源码笔记-adlist的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产福利在线 | 久久亚洲区 | 久久成人人人人精品欧 | 久久久免费国产 | 久草在线国产 | 久久亚洲精品国产亚洲老地址 | 美女黄网久久 | 91丨九色丨蝌蚪丰满 | 亚洲国产精品久久 | 国产美女黄网站免费 | 黄色国产精品 | 国语精品免费视频 | 久久免费视频这里只有精品 | 欧美疯狂性受xxxxx另类 | 日韩在线免费不卡 | 免费av高清| 欧美在线观看视频 | 久久美女视频 | 国产精品手机视频 | 玖玖玖在线 | 亚洲激情校园春色 | 999久久国精品免费观看网站 | 黄色av成人在线 | 久久成人国产精品入口 | 可以免费观看的av片 | 天天激情天天干 | 国产在线a | 在线观看的黄色 | 国产精品一区二区久久久 | 91免费国产在线观看 | 狠狠色丁香婷婷综合最新地址 | 91视频com| 国产成人久久 | 中文字幕一区二区三区在线观看 | 在线亚洲免费视频 | 久久er99热精品一区二区三区 | 国产传媒中文字幕 | 国产黄色精品在线观看 | 久久天天草| 欧美色精品天天在线观看视频 | 国产精品久久99综合免费观看尤物 | 天天av综合网 | 国产精品av一区二区 | 99国产成+人+综合+亚洲 欧美 | 99精品小视频| 在线看的毛片 | 成人国产精品av | 91精品国产成 | 欧美日韩国产二区三区 | 天天天色综合 | 91传媒在线看 | 在线黄频| 亚洲午夜小视频 | 日本视频久久久 | 热久久电影| 精品国产乱码久久久久久久 | 91av在线不卡 | 美女视频黄频 | 精品一区二区在线免费观看 | h视频在线看 | 99久久精品国产欧美主题曲 | 在线观看av小说 | 欧美日韩不卡在线 | 免费观看成人av | 国产精品久久久久久久免费大片 | 成人在线一区二区三区 | 国产高清视频在线免费观看 | 久草www | 99国内精品久久久久久久 | 国产区精品视频 | 日产乱码一二三区别在线 | 一级特黄aaa大片在线观看 | 激情综合网婷婷 | 四虎国产精| 国内99视频 | 国产精品久免费的黄网站 | 超碰在线cao | 国产五月婷婷 | 91精品久久香蕉国产线看观看 | 天天看天天干天天操 | 亚洲综合小说电影qvod | 久久久午夜电影 | 在线观看自拍 | 欧美日韩一区二区在线观看 | 日韩v在线 | 久久国产精品二国产精品中国洋人 | 狠狠色免费 | 国产高清视频在线免费观看 | 日本精品va在线观看 | 国产亚洲人| 免费成人短视频 | 狠狠色丁香婷婷综合久久片 | 片网址| 国产精久久久久久妇女av | 中文字幕免费观看视频 | 日韩在线电影 | 欧美一级视频免费看 | 国产99久久久国产精品免费二区 | 国产成人61精品免费看片 | 天天色官网 | 在线观看视频h | a在线观看免费视频 | 在线天堂视频 | 国色天香在线 | 日韩字幕 | 99精品视频网站 | 99麻豆视频 | 精品久久久成人 | 香蕉视频18| 欧美一区二区伦理片 | 91精品亚洲影视在线观看 | 久久国产欧美日韩精品 | 中文字幕日韩有码 | 久久草网 | 午夜精品婷婷 | 免费一级片在线 | 福利一区二区三区四区 | 99视频 | 成年人黄色大全 | 新av在线| 黄色大片日本免费大片 | 青草草在线 | 午夜黄网 | 日日躁天天躁 | 久久香蕉影视 | 天天拍天天爽 | 久久y | 天天射天天干天天 | 99久久影院| 成x99人av在线www | 草 免费视频 | 青青草在久久免费久久免费 | 日韩一区二区久久 | 日韩欧美综合视频 | 狠狠干2018| 日本婷婷色 | 国产精品国产三级国产aⅴ9色 | 免费观看全黄做爰大片国产 | 人人射人人插 | 麻豆免费观看视频 | 一区二区三区影院 | 国产黄色一级片在线 | 日b视频在线观看网址 | a在线观看视频 | 97天堂网 | 91亚洲综合 | 国产高清av | 欧美一级电影 | 天堂中文在线播放 | 在线色网站| 免费av一级电影 | 夜夜骑天天操 | 国产一级在线播放 | 开心色激情网 | 蜜桃麻豆www久久囤产精品 | av大片免费在线观看 | 国产美女免费观看 | 丁香花五月 | 色射爱 | 精品人人人 | 精品在线免费观看 | 西西大胆啪啪 | 亚洲一级电影在线观看 | 中文字幕丝袜美腿 | 国产精品综合久久久久 | 国产99久久精品一区二区永久免费 | 中文在线字幕观看电影 | www色网站| 天天插天天狠 | 婷婷九月丁香 | 91传媒在线看 | 国产一级特黄电影 | 日韩av网站在线播放 | 精品九九九九 | 日韩欧美在线综合网 | 精品国产免费观看 | 97看片吧 | 国产成人精品女人久久久 | 国产在线精品视频 | 色在线视频 | 91看片在线 | 久久综合欧美精品亚洲一区 | 国产精品久久久久久久久久新婚 | 国产黄色大全 | 免费高清在线观看成人 | 婷婷色站 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 色插综合 | 亚洲三级性片 | 亚洲精品9| 狠狠色狠狠色综合系列 | 视色网站 | 日韩无在线 | 免费观看一级特黄欧美大片 | 国产一区二区三区在线免费观看 | 涩涩色亚洲一区 | 色吊丝在线永久观看最新版本 | 亚州欧美精品 | 久久久久久久久爱 | 久爱精品在线 | 五月综合激情 | 日韩精品一区二区三区免费观看视频 | 天天夜夜操 | 天天操天天摸天天干 | 久久一本综合 | 久久国产麻豆 | 国产亚洲精品成人av久久ww | www色com| 美女视频是黄的免费观看 | 美女网色| 亚洲1区在线 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 国产一级在线观看 | 在线播放一区二区三区 | 日韩大片免费观看 | 亚洲综合黄色 | 国产五月婷婷 | 国产精品99在线播放 | av中文字幕电影 | 久久精品99国产精品亚洲最刺激 | 午夜精品久久久久久久久久久久 | 亚洲国产中文字幕在线观看 | 黄色激情网址 | 久草www | 日韩和的一区二在线 | 在线观看免费91 | 欧洲成人av | 天天干天天干天天干天天干天天干天天干 | 91字幕 | 日韩色视频在线观看 | 亚州精品一二三区 | 福利片视频区 | 在线电影 一区 | 免费看污片 | 在线免费成人 | 中文字幕在线影视资源 | 久久精品草 | 在线 影视 一区 | 在线 国产 亚洲 欧美 | 亚洲国产成人在线播放 | 日韩高清不卡一区二区三区 | 草免费视频 | 亚洲免费在线观看视频 | 在线影院 国内精品 | 国产精品久久久久久69 | 精品久久美女 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲永久精品在线 | 九九热视频在线免费观看 | 免费看一级特黄a大片 | 美女国产免费 | 亚洲日本欧美在线 | 奇米网444 | 天天色天天操综合 | 免费在线播放av电影 | 欧美日韩久久不卡 | 中日韩欧美精彩视频 | 欧美性黄网官网 | 国产午夜亚洲精品 | 91麻豆国产福利在线观看 | 天天插综合 | 51久久成人国产精品麻豆 | 国产精品久久久亚洲 | 激情五月婷婷综合 | 中文字幕制服丝袜av久久 | 福利视频网站 | 国产精品无av码在线观看 | 国产精品精品久久久 | 青青草国产免费 | 国产一区观看 | 久久精品美女 | 国产清纯在线 | 精品国产一区二区三区四区在线观看 | 免费看三级 | 亚州精品成人 | 午夜精品一区二区三区可下载 | 欧美日韩午夜在线 | 91视视频在线直接观看在线看网页在线看 | 欧美一区二区三区特黄 | 中文字幕免费观看全部电影 | 久久久这里有精品 | 天天草综合网 | 一区二区三区电影在线播 | 中文字幕在线观看免费观看 | 国产成人三级在线观看 | 日韩激情片在线观看 | 色婷婷综合五月 | 国产精品自在线拍国产 | 免费精品在线视频 | 天天干天天操天天搞 | 欧美精品一区二区三区四区在线 | 亚洲精品系列 | 亚洲精品99久久久久久 | 国产黄色高清 | 深夜免费网站 | 久久99亚洲热视 | 激情开心站 | 亚洲最大在线视频 | 五月婷婷丁香激情 | 四虎影视久久久 | 国产黑丝一区二区三区 | 精品一区二区免费在线观看 | 丁香婷婷久久久综合精品国产 | 欧美精品少妇xxxxx喷水 | 91探花系列在线播放 | 欧美日韩中文在线观看 | 久久久 精品 | www黄色com | 久免费| 色综合久久88色综合天天人守婷 | 五月花婷婷 | 99久久激情| 99久e精品热线免费 99国产精品久久久久久久久久 | 欧美一区二区三区在线看 | 国产精品无| 久久久久久久av | 日韩精品极品视频 | 91入口在线观看 | 国产成人精品免费在线观看 | 亚洲黄色av网址 | 99久久久成人国产精品 | 韩日av在线 | 97在线观看视频国产 | 91在线在线观看 | 中文字幕视频免费观看 | 久久综合久久综合久久综合 | 99久久99视频只有精品 | 亚洲综合国产精品 | 久久久精选 | 亚洲黄色网络 | 热re99久久精品国产66热 | 一区 在线观看 | 亚洲精品18日本一区app | 成人黄色电影视频 | 免费日韩电影 | 欧美性生活一级片 | 91完整版观看 | 国产亚洲精品女人久久久久久 | 天堂在线视频免费观看 | 久草综合视频 | 国产剧情在线一区 | 免费亚洲精品视频 | 91九色国产蝌蚪 | 日韩视频一区二区在线 | 99久久久国产精品免费观看 | 亚洲精品合集 | 亚洲视频在线观看 | 在线电影 一区 | 国产色视频网站 | 天天干天天干天天干 | 国产一区二区三精品久久久无广告 | 精品久久久久久久久久久久 | 成人免费视频在线观看 | 91丨九色丨蝌蚪丰满 | 伊人一级| 国产精品久久久久久一二三四五 | 婷婷六月天在线 | 成人在线免费视频观看 | 超碰在线人人草 | 成人在线播放视频 | 黄色免费网站下载 | 99热这里只有精品免费 | 久久五月婷婷丁香 | 国产黄色片免费看 | 国产不卡av在线播放 | 国产精品成人免费精品自在线观看 | 99精品在线观看视频 | www.国产毛片| 久草在线网址 | 久久久久久久久久久久国产精品 | 国产精品理论片 | 免费视频a | 麻豆视频免费在线 | 麻豆超碰 | 欧美日韩超碰 | 人人爽人人片 | 麻豆 free xxxx movies hd | 玖玖在线视频观看 | 久久婷婷色综合 | 亚洲精品在线一区二区 | 黄色毛片一级 | 国产自产高清不卡 | 国产一区欧美一区 | 在线免费亚洲 | 91亚洲激情| 欧美污在线观看 | 狠狠躁天天躁 | 欧美一级片在线播放 | 久久久久欠精品国产毛片国产毛生 | 欧美日韩免费在线视频 | 91亚州| 四虎影视成人永久免费观看亚洲欧美 | 中文字幕乱码日本亚洲一区二区 | 成人免费观看视频网站 | 91黄色视屏 | 国产大片免费久久 | 在线小视频你懂的 | 欧美极品少妇xbxb性爽爽视频 | 色婷婷88av视频一二三区 | 亚洲免费在线播放视频 | 成人免费视频观看 | 婷婷精品国产一区二区三区日韩 | 婷婷六月天丁香 | 久久久免费国产 | 99re在线视频观看 | 欧美日韩国产亚洲乱码字幕 | 97精品国产97久久久久久久久久久久 | 久久综合九色综合97_ 久久久 | 女人18毛片a级毛片一区二区 | 美女网站黄免费 | 91.精品高清在线观看 | 99在线免费观看 | 西西444www大胆无视频 | 91精彩视频 | wwwwww国产 | 日本三级吹潮在线 | 亚洲黄色在线免费观看 | 夜夜骑天天操 | 成人免费网站在线观看 | 色 中文字幕 | 看片网站黄 | .国产精品成人自产拍在线观看6 | 亚洲午夜精品电影 | 国产亚洲精品精品精品 | 午夜影视一区 | 欧美精品午夜 | 在线综合 亚洲 欧美在线视频 | 456成人精品影院 | 亚洲精品大片www | 久久久国产高清 | 在线视频a | 97超碰超碰| 四虎成人av| 国产精品私人影院 | 黄色在线看网站 | 啪啪免费试看 | 国产精品一区在线观看 | 久久成人亚洲欧美电影 | 婷婷综合导航 | 视频一区在线播放 | www中文在线 | 91网站在线视频 | 日韩精品一区二区免费 | 婷婷丁香在线视频 | 欧美日韩性视频 | 黄色在线网站噜噜噜 | aaa日本高清在线播放免费观看 | 成人小视频免费在线观看 | 看国产黄色片 | 一级成人免费视频 | 婷婷中文字幕综合 | 亚洲国产精品成人女人久久 | www黄在线 | 高清有码中文字幕 | 国产精品一区在线播放 | 66av99精品福利视频在线 | 天天草天天干天天 | 精品一区二区三区四区在线 | 国产中文字幕在线观看 | 亚洲黄色网络 | 久久综合狠狠狠色97 | 国产精品麻 | 成人av在线影视 | 国产成人精品亚洲 | 青青草华人在线视频 | 国产一级在线观看视频 | 天天草网站| 新av在线 | 日韩av手机在线看 | 日韩精品免费一区二区 | 国产中文字幕网 | 999视频在线播放 | 国产精品 中文在线 | 日韩在线高清视频 | 91免费高清在线观看 | 亚洲国产剧情av | av在线中文 | 69xxxx欧美| 天天综合网久久综合网 | 国产黄在线播放 | 国产精品久久网 | 最近日韩中文字幕中文 | 国产少妇在线观看 | 天堂网一区二区 | 欧美精品在线一区二区 | 一区二区视频免费在线观看 | 色99久久| 国产一区二区久久久 | av专区在线 | 久久精品免费 | 亚洲1级片 | 国产专区第一页 | 欧美精品你懂的 | 天天天天天天操 | www.国产精品 | 黄色99视频 | 99精品免费久久久久久久久日本 | 911国产精品| 国产91精品一区二区麻豆网站 | 黄污视频大全 | 香蕉色综合 | 天天操天天干天天操天天干 | 国产精品嫩草在线 | 高清不卡毛片 | 一区二区三区免费在线观看视频 | 亚洲精品在线观看免费 | 国产精品入口66mio女同 | 日韩高清在线不卡 | 亚洲一级片在线观看 | 久久av免费观看 | 中文一区二区三区在线观看 | 天天干天天天天 | 国产日韩欧美中文 | 91av在线免费视频 | 国产高清黄色 | av免费网站 | 中文在线免费观看 | 91精品一区二区三区久久久久久 | 国产资源中文字幕 | 免费黄色在线网址 | 久久久国产精品久久久 | 欧美日韩精品免费观看视频 | 四虎在线永久免费观看 | 日韩欧美在线影院 | 国产第一页精品 | 综合天天网 | 在线日韩中文 | 亚洲国产免费看 | 精品v亚洲v欧美v高清v | 久久久视频在线 | 国产伦精品一区二区三区免费 | 免费看在线看www777 | 国产精品一区二区av麻豆 | 成人h电影 | 中文字幕av全部资源www中文字幕在线观看 | 亚洲国产精彩中文乱码av | 日韩av一区二区在线 | 午夜影院一级片 | 97操碰 | 99 久久久久 | 美女精品国产 | 一级黄色av| 久草资源免费 | 天天干,天天射,天天操,天天摸 | 国产亚洲高清视频 | 一区二区 不卡 | 欧美国产日韩一区二区三区 | 日本中出在线观看 | 午夜 久久 tv | av黄色大片 | 韩日三级在线 | 99视频免费| 免费黄a| 久久久毛片 | 国产精品欧美日韩 | www.久热| 91香蕉嫩草 | 欧美精品一级视频 | 国产视频资源在线观看 | 毛片.com | 美女免费视频一区 | 福利精品在线 | 99热高清| 欧美日韩国产精品一区二区亚洲 | 69国产精品视频免费观看 | 国产亚洲精品成人 | 制服丝袜一区二区 | 精品亚洲va在线va天堂资源站 | 欧美黑人性猛交 | 一级a毛片高清视频 | 久草青青在线观看 | 精品视频专区 | 国产精品2区 | 狠狠干狠狠久久 | 91桃色视频| 97精品国产手机 | 午夜精品久久久久久99热明星 | 在线视频欧美精品 | 波多野结衣网址 | 久操中文字幕在线观看 | 日韩欧美精品在线 | 99久久婷婷国产精品综合 | 免费看av在线 | 色在线网站 | 天天操天天舔天天干 | 啪啪精品| 青青草国产精品 | 黄色大全免费观看 | 麻豆视频免费入口 | 日韩色视频在线观看 | 丁香网婷婷| 欧美亚洲国产一卡 | 91大神视频网站 | 麻豆 91 在线 | 久久综合给合久久狠狠色 | 337p西西人体大胆瓣开下部 | 成人免费看黄 | 国产精品一区专区欧美日韩 | 又黄又爽又色无遮挡免费 | 91热| 国产精品久久久av久久久 | 国产亚洲精品久久久久久移动网络 | 黄a在线看 | 99色资源 | 日韩中文字幕免费在线播放 | 91久久精品一区 | 干狠狠 | 五月天亚洲综合小说网 | 91九色视频| 777视频在线观看 | 三级免费黄 | 丁香五婷 | 国产高清精品在线观看 | 在线免费性生活片 | 欧美日韩精品在线观看视频 | 午夜影院一级 | 天天干天天干天天干天天干天天干天天干 | 四虎成人免费观看 | 99r在线观看 | 在线观看亚洲精品 | 丝袜av一区| 91麻豆精品国产午夜天堂 | 中文字幕在线中文 | 亚洲在线 | 国产精品一区二区久久精品 | 少妇按摩av | 日韩动态视频 | 人操人 | 99视频久| 在线播放视频一区 | 亚洲综合色视频 | 国产精品手机在线播放 | 欧美午夜寂寞影院 | 亚洲乱码在线观看 | 亚洲精品播放 | 国产一区二区三区免费视频 | 97在线观看 | 91看片在线免费观看 | 91av视频在线播放 | 日韩网站在线看片你懂的 | 天天av在线播放 | a在线观看视频 | 天天摸天天干天天操天天射 | 西西444www大胆高清视频 | 91精品在线免费 | 午夜视频在线观看一区二区三区 | 婷婷中文字幕综合 | 伊人丁香| 伊人视频 | 国产精品久久久久久久久免费看 | 黄a在线看 | 97视频在线免费观看 | 18性欧美xxxⅹ性满足 | 香蕉91视频 | www色片 | 91最新在线观看 | 五月婷婷激情五月 | 天天天天爱天天躁 | 欧美另类老妇 | 国产精品k频道 | 97视频精品| 在线观看成人毛片 | 国产成人久久久77777 | 欧美日韩国语 | www五月婷婷 | 91中文在线视频 | 97在线观看视频免费 | 色a网| 日日夜夜天天干 | 色在线最新 | av天天草 | 中文在线字幕免 | 国产在线精品福利 | 亚洲精品在线免费看 | 欧美狠狠操 | 婷婷九九 | 亚洲精品欧美视频 | 日韩av不卡播放 | 99热国产在线观看 | 中文字幕一区二区三区精华液 | 91成人破解版| 婷婷色在线播放 | 久久艹国产视频 | 精品欧美乱码久久久久久 | 黄色成人av在线 | 麻豆视频在线观看 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 黄色大片网 | 98涩涩国产露脸精品国产网 | 91高清视频在线 | 日本久久电影网 | 91福利视频免费 | 亚洲国产激情 | 成人免费视频在线观看 | 国产97视频 | 久久中文字幕在线视频 | 中文字幕在线视频一区二区 | 欧美日韩一区二区在线 | 国产一级精品绿帽视频 | 日本中文在线 | 黄色国产高清 | 狠狠干网站| 99久久999久久久精玫瑰 | 在线午夜电影神马影院 | 高清av不卡 | 日韩精品免费在线播放 | 国产xxxx做受性欧美88 | 中文 一区二区 | 福利视频在线看 | 91插插影库 | 精品国产视频在线观看 | 天天人人| 999在线精品| 天天摸天天操天天舔 | 天天操天天是 | 国产高清免费在线播放 | 日韩在线观看电影 | 97精品国产97久久久久久久久久久久 | 蜜桃av久久久亚洲精品 | 成人免费观看视频大全 | 亚洲色图27p | 一区二区三区中文字幕在线观看 | 国产精品大尺度 | 久久综合久久综合九色 | 欧美日韩亚洲在线观看 | 亚洲手机天堂 | www久草| 欧美一区中文字幕 | 久久综合五月婷婷 | 婷五月激情| 欧美激情综合网 | 综合成人在线 | 五月天久久久 | 999男人的天堂 | 婷婷网在线 | 国产精品99免费看 | 久久免费视频在线 | 成人免费视频网 | 国产九九精品视频 | 国产手机在线 | 国产一区二区在线免费视频 | 黄色大全在线观看 | 激情综合狠狠 | 久久96| 狠狠色免费 | 欧美国产日韩激情 | 男女靠逼app | 99久久网站 | 五月激情综合婷婷 | 国产精品精品久久久久久 | 美女搞黄国产视频网站 | 国产精品成人在线 | 精品国产综合区久久久久久 | 99国内精品久久久久久久 | 久久视频网 | 日韩欧美一区二区三区在线观看 | 超碰在线97观看 | 日韩电影在线观看一区二区 | 免费观看完整版无人区 | 久久久久久久影视 | 国产亚洲视频在线免费观看 | 五月激情婷婷丁香 | 久久五月婷婷综合 | 国产视频在线观看免费 | 超碰com| 美女黄久久 | 亚洲精品日韩一区二区电影 | 久久综合九色欧美综合狠狠 | 国产一区精品在线观看 | 欧美三级高清 | 国产精品二区在线 | 日韩在线三级 | 免费av试看| 久久久国产精品久久久 | 五月天婷婷视频 | 免费日韩 精品中文字幕视频在线 | 在线观看不卡视频 | 国产午夜精品一区二区三区欧美 | 国产午夜精品在线 | 国产成人高清在线 | 亚州中文av | 人人干网站 | 欧美,日韩 | 国产亚洲欧洲 | 亚洲va男人天堂 | 五月婷婷在线视频 | 色99之美女主播在线视频 | 999久久久免费视频 午夜国产在线观看 | 日韩精品一区二区三区水蜜桃 | 色婷婷www | 婷婷播播网 | 在线岛国av | 免费av片在线 | 深夜福利视频一区二区 | 麻豆精品传媒视频 | 五月婷婷国产 | 91在线免费视频 | 国语自产偷拍精品视频偷 | 又黄又爽的视频在线观看网站 | 亚洲视频久久久久 | 久久综合色播五月 | 国产精品美女久久久久aⅴ 干干夜夜 | 天天综合亚洲 | 狠狠操夜夜操 | 欧美激情精品久久 | 四虎在线免费观看 | 69亚洲视频 | 久久综合色天天久久综合图片 | 五月天激情电影 | 国产精品短视频 | 久久久久久免费毛片精品 | 日韩二区在线 | 国产一级做a爱片久久毛片a | 日韩一级黄色av | 国产资源av | 亚洲精品国产区 | 色吊丝在线永久观看最新版本 | 俺要去色综合狠狠 | 欧美视频网址 | 久久久久国产a免费观看rela | 国产一级特黄毛片在线毛片 | 狠狠网站 | 九九热在线精品视频 | 成年人天堂com | 天天爱天天草 | a级黄色片视频 | 国产精品毛片久久久久久久 | 国产小视频91| 亚洲一区二区观看 | av久久久 | 久久精品久久精品久久精品 | 亚洲激情五月 | 久久国产成人午夜av影院潦草 | 国产生活一级片 | 国产精品久久久av久久久 | 又黄又爽又刺激 | 毛片在线播放网址 | 成人精品一区二区三区中文字幕 | 久久久久久亚洲精品 | 91精品1区2区 | 中文字幕第一页在线播放 | 欧美在线99 | 国产精品永久在线 | 特级aaa毛片| 久久国产一区二区 | 久久精品国产精品亚洲精品 | 久久久久久久久久久久av | 99久久9| 国产视频1区2区3区 久久夜视频 | 亚洲欧洲精品一区 | 久久久久久久久久影视 | 久久欧美综合 | 欧美va天堂va视频va在线 | 狠狠色丁香婷婷综合视频 | 久久视精品 | 免费av成人在线 | 国产亚洲在 | 天天搞天天干 | 日日操操操 | 天天爽天天爽 | 国产青草视频在线观看 | 欧美激情视频一区 | 国产激情小视频在线观看 | 国产一区二区三区免费视频 | 天天综合导航 | 欧美精品久久人人躁人人爽 | 一二区精品 | 国产视频精品久久 | 天天综合五月天 | 国产精品久久久久久久久久 | 亚洲黄色影院 | 国产精品二区在线 | 怡春院av | 日韩欧美一区二区三区黑寡妇 | 日韩欧美99 | 久久免费视频在线观看6 | 久久久久久久久亚洲精品 | www激情网 | 91精品视频在线观看免费 | 国产一区二区久久久 | 波多野结衣精品视频 | 日本中文字幕高清 | www.天天操| 日韩视频在线观看免费 | 成人h电影在线观看 | 天天爱天天舔 | 日韩视频在线观看视频 | 成人免费电影 | 欧美日韩伦理一区 | 国产黄色看片 | 精品福利国产 | 欧美激情视频久久 | 狠狠艹夜夜干 | 五月天高清欧美mv | av官网在线 | 中文字幕在线字幕中文 | 黄免费在线观看 | 制服丝袜成人在线 | 午夜精品久久久久久久久久 | 二区三区在线观看 | 中文字幕中文字幕在线中文字幕三区 | 六月婷婷网 | 91福利国产在线观看 | 日日干 天天干 | 日日综合网 | 亚洲2019精品| 成人作爱视频 | 黄色三几片 | 9热精品 | 天堂av免费| 99热9 | 男女啪啪免费网站 | 日韩久久精品一区 | 精品免费久久 | 久久一久久 | 国产精品丝袜久久久久久久不卡 | 国产精品成人免费 | 日韩av专区 | 国产中文字幕久久 | 日韩电影在线一区 | 亚洲热视频 | 狠狠狠色丁香婷婷综合久久五月 | 色鬼综合网 | 日本中文一级片 | 国产一卡二卡在线 | 五月婷婷亚洲 | 视频一区二区三区视频 | 亚洲精品麻豆视频 | 免费观看mv大片高清 | 亚洲黄色在线免费观看 | 日本三级全黄少妇三2023 | 精品久久美女 | 色综合婷婷久久 | 日韩网站在线免费观看 | 91在线看| 国产欧美精品xxxx另类 | 在线免费观看麻豆 | 国产一级不卡毛片 | 最近日本韩国中文字幕 | 欧美视频www | 欧美精品在线视频 | 激情偷乱人伦小说视频在线观看 | 91在线精品播放 | 8x成人免费视频 | 欧美国产不卡 | 亚洲精品欧洲精品 | 91在线观看高清 | 黄色a一级片 | 国产91在| 91精品国自产拍天天拍 | 一本色道久久综合亚洲二区三区 | 色99在线 | 国产精品18久久久久久久久久久久 | 99精品国产成人一区二区 | 欧美色婷婷 | 深爱激情五月综合 | 97超视频| 99精品视频免费看 | 99精品视频在线观看视频 | 婷香五月 | 成人免费xyz网站 | 久久欧美视频 | 日日操操 | 欧美在线一 | 国产精品日韩在线播放 | 日韩网站在线播放 | 精品成人在线 | 精品久久久一区二区 | 波多野结衣理论片 | 亚洲国产精品影院 | 1024手机看片国产 | 日日操天天操夜夜操 | 亚洲精品视频在线观看免费 | 三上悠亚一区二区在线观看 | 伊人春色电影网 | 深爱开心激情 | 91精品一 | 中文字幕婷婷 | 色婷婷导航 | 日日夜夜草 | 欧美一级欧美一级 | av中文字幕网站 | 色窝资源 | 日韩精品一区二区三区外面 | 精品国产免费观看 | 久久欧美精品 | 贫乳av女优大全 | 麻豆一二 | 午夜视频在线观看欧美 | 久久夜夜操 | 国模一区二区三区四区 | 天天天综合 | 欧美做受高潮电影o | 伊甸园av在线 | 亚洲色图美腿丝袜 | 日韩精品一区二区免费视频 | 性色视频在线 | 久久久精品国产一区二区三区 |