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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

skynet源码阅读5--协程调度模型

發(fā)布時(shí)間:2023/12/9 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 skynet源码阅读5--协程调度模型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

注:為方便理解,本文貼出的代碼部分經(jīng)過了縮減或展開,與實(shí)際skynet代碼可能會(huì)有所出入。
? ? 作為一個(gè)skynet actor,在啟動(dòng)腳本被加載的過程中,總是要調(diào)用skynet.start和skynet.dispatch的,前者在skynet-os中做一些初始化工作,設(shè)置消息的Lua回調(diào),后者則注冊(cè)針對(duì)某協(xié)議的解析回調(diào)。舉個(gè)例子:

1 local skynet = require "skynet" 2 3 local function hello() 4 skynet.ret(skynet.pack("Hello, World!")) 5 print("hello OK") 6 end 7 8 skynet.start(function() 9 skynet.dispatch("lua", function(session, address, cmd, ...) 10 assert(cmd == "hello") 11 hello() 12 end) 13 end)

? ? 先是調(diào)用skynet.start注冊(cè)初始化回調(diào),在其中調(diào)用skynet.dispatch注冊(cè)針對(duì)"lua"協(xié)議的解析回調(diào)。skynet的基本使用這里我們就不多說了,具體見官方文檔。下面我們就從skynet.start(見skynet.lua)開始,逐一分析流程。

1 function skynet.start(start_func) 2 c.callback(skynet.dispatch_message) 3 skynet.timeout(0, function() 4 skynet.init_service(start_func) 5 end) 6 end

這里的c來自于require "skynet.core",它是在lua-skynet.c中注冊(cè)的,如下:?

1 int luaopen_skynet_core(lua_State *L) { 2 luaL_checkversion(L); 3 4 luaL_Reg l[] = { 5 ... 6 { "callback", _callback }, 7 { NULL, NULL }, 8 }; 9 10 luaL_newlibtable(L, l); 11 12 lua_getfield(L, LUA_REGISTRYINDEX, "skynet_context"); 13 struct skynet_context *ctx = lua_touserdata(L,-1); 14 if (ctx == NULL) { 15 return luaL_error(L, "Init skynet context first"); 16 } 17 18 luaL_setfuncs(L,l,1); 19 20 return 1; 21 }

?? ? 可以看到,它注冊(cè)了幾個(gè)函數(shù),并將skynet_context實(shí)例作為各函數(shù)的upvalue,方便調(diào)用時(shí)獲取。skynet.start中調(diào)用c.callback,對(duì)應(yīng)的就是lua-skynet.c中的_callback函數(shù),skynet.dispatch_message回調(diào)就是它的參數(shù):

1 static int _callback(lua_State *L) { 2 struct skynet_context * context = lua_touserdata(L, lua_upvalueindex(1)); 3 int forward = lua_toboolean(L, 2); 4 luaL_checktype(L,1,LUA_TFUNCTION); 5 lua_settop(L,1); 6 lua_rawsetp(L, LUA_REGISTRYINDEX, _cb); 7 8 lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_MAINTHREAD); 9 lua_State *gL = lua_tothread(L,-1); 10 11 if (forward) { 12 skynet_callback(context, gL, forward_cb); 13 } else { 14 skynet_callback(context, gL, _cb); 15 } 16 17 return 0; 18 }

? ? 可以看到,其以函數(shù)_cb為key,LUA回調(diào)(skynet.dispatch_message)作為value被注冊(cè)到全局注冊(cè)表中。skynet_callback(在skynet_server.c中)則設(shè)置函數(shù)指針_cb為C層面的消息處理函數(shù):

1 void skynet_callback(struct skynet_context * context, void *ud, skynet_cb cb) { 2 context->cb = cb; 3 context->cb_ud = ud; 4 }

? ? 先不關(guān)注skynet-os內(nèi)部的線程調(diào)度細(xì)節(jié),只需要知道,skynet-context接收到消息后會(huì)轉(zhuǎn)發(fā)給context->cb處理,也就是_cb函數(shù)。在_cb中,從全局表中取到關(guān)聯(lián)的LUA回調(diào),將type, msg, sz, session, source壓棧調(diào)用:

1 static int _cb(struct skynet_context * context, void * ud, int type, int session, uint32_t source, const void * msg, size_t sz) { 2 lua_State *L = ud; 3 int trace = 1; 4 int r; 5 int top = lua_gettop(L); 6 if (top == 0) { 7 lua_pushcfunction(L, traceback); 8 lua_rawgetp(L, LUA_REGISTRYINDEX, _cb); 9 } else { 10 assert(top == 2); 11 } 12 lua_pushvalue(L,2); 13 14 lua_pushinteger(L, type); 15 lua_pushlightuserdata(L, (void *)msg); 16 lua_pushinteger(L,sz); 17 lua_pushinteger(L, session); 18 lua_pushinteger(L, source); 19 20 r = lua_pcall(L, 5, 0 , trace); 21 22 if (r == LUA_OK) { 23 return 0; 24 } 25 }

? ? 此時(shí)調(diào)用流程正式轉(zhuǎn)到skynet.lua中的skynet.dispatch_message:?

1 function skynet.dispatch_message(...) 2 local succ, err = pcall(raw_dispatch_message,...) 3 while true do 4 local key,co = next(fork_queue) 5 fork_queue[key] = nil 6 pcall(suspend,co,coroutine_resume(co)) 7 end 8 end

?? ?首先是將msg交由raw_dispatch_message作分發(fā),然后開始處理fork_queue中緩存的fork協(xié)程:

? ? ? ? pcall(suspend, co, coroutine_resume(co))

? ? 這行代碼是我們今天關(guān)注的重點(diǎn)。在繼續(xù)之前,我假設(shè)你對(duì)lua的協(xié)程有一定的了解,了解coroutine.resume,coroutine.yield的基本用法。coroutine就是lua里的線程,它擁有自己的函數(shù)棧,但與我們平常接觸的大多數(shù)操作系統(tǒng)里的線程不同,是非搶占式的。skynet對(duì)lua的coroutine作了封裝(詳見lua-profile.c),主要是增加了starttime和totaltime的監(jiān)測(cè),最終還是交由lua的coroutine庫來處理的。既然這里分析到了fork_queue,那我們就先以skynet.fork為例,看看它作了什么:

1 function skynet.fork(func,...) 2 local args = table.pack(...) 3 local co = co_create(function() 4 func(table.unpack(args,1,args.n)) 5 end) 6 table.insert(fork_queue, co) 7 return co 8 end

? ? skynet.fork做的事情很簡(jiǎn)單,通過co_create創(chuàng)建一個(gè)coroutine并將其入隊(duì)fork_queue。看看co_create是如何創(chuàng)建協(xié)程的:

1 local function co_create(f) 2 local co = table.remove(coroutine_pool) 3 if co == nil then 4 co = coroutine.create(function(...) 5 f(...) 6 while true do 7 f = nil 8 coroutine_pool[#coroutine_pool+1] = co 9 f = coroutine_yield "EXIT" 10 f(coroutine_yield()) 11 end 12 end) 13 else 14 coroutine_resume(co, f) 15 end 16 return co 17 end

? ? 調(diào)用co_create時(shí),如果coroutine_pool為空,它會(huì)創(chuàng)建一個(gè)新的co。co在第一次被resume時(shí),會(huì)執(zhí)行f,接著便進(jìn)入一個(gè)使用和回收的無限循環(huán)。在這個(gè)循環(huán)中,先是收回co到coroutine_pool中,接著便yield "EXIT"到上一次的resume點(diǎn)A。當(dāng)下一次被resume在點(diǎn)B喚醒時(shí),會(huì)先將函數(shù)f傳遞過來,接著再次yield到點(diǎn)B,等待下一次在點(diǎn)D被resume喚醒時(shí),傳遞需要的參數(shù)過來加以執(zhí)行,完畢后回收,如此反復(fù)。這樣看來,co的執(zhí)行似乎相當(dāng)簡(jiǎn)單。但是實(shí)際上要復(fù)雜一些,因?yàn)樵趫?zhí)行f的過程中,可以再反復(fù)地yield和resume。下面我們舉個(gè)簡(jiǎn)單的例子:?

1 skynet.fork(function() 2 print ("skynet fork: <1>") 3 skynet.sleep(10) 4 print ("skynet fork: <2>") 5 end)

?? ? 我們把skynet.sleep展開:?

1 skynet.fork(function() 2 print ("skynet fork: <1>") 3 coroutine_yield("SLEEP", COMMAND_TIMEOUT(10)) 4 print ("skynet fork: <2>") 5 end)

?? ? 下面開始分析調(diào)用流程。fork-co入隊(duì),主co在skynet.dispatch_message中分發(fā)消息后取出fork-co,調(diào)用resume開始進(jìn)入fork-co的函數(shù)f執(zhí)行,如下圖所示,如果fork-co是第一次執(zhí)行,是走圈1,如果是復(fù)用,則走圈1*(如果是復(fù)用的話,調(diào)用co_create時(shí),會(huì)先coroutine_resume(co,f)一次進(jìn)入fork-co,將用戶函數(shù)傳遞給while循環(huán)中的coroutine_yield "EXIT"點(diǎn)之后,接著fork-co再次yield讓出,等待實(shí)際傳參的調(diào)用)。接著進(jìn)入用戶函數(shù),COMMAND_TIMEOUT會(huì)先向skynet-kernal發(fā)送TIMEOUT命令,如圈2所示。然后yield "SLEEP"到主co的resume點(diǎn)1之后繼續(xù)執(zhí)行,如圈3所示,按圈4的指向,調(diào)用suspend進(jìn)入"SLEEP"分支,記錄下TIMEOUT-session與fork-co的映射關(guān)系。此時(shí)主co回到skynet.dispatch_message中繼續(xù)下一個(gè)fork-co的處理。當(dāng)TIMEOUT消息回來時(shí),會(huì)由主co再次進(jìn)入skynet.dispatch_message并調(diào)用raw_dispatch_message分發(fā),這時(shí)通過session拿到之前映射的fork-co,再次resume,按照圈5的指向,會(huì)跳轉(zhuǎn)到fork-co的yield "SLEEP"點(diǎn)之后繼續(xù)向下處理。用戶函數(shù)處理完畢后,回到上層調(diào)用,即圈6所指,回收fork-co,接著yield "EXIT"到主co所在raw_dispatch_message中的resume點(diǎn)之后,如圈7所示。進(jìn)入suspend后,無額外命令,raw_dispatch_message處理結(jié)束,繼續(xù)主co的消息處理流程。

? ? 由以上分析可以看到,實(shí)際的協(xié)程跳轉(zhuǎn)過程是比較復(fù)雜的,也更顯得小小的LUA在skynet中的精巧運(yùn)用。為方便理解,順便貼出suspend的代碼(只列出了我們關(guān)注的幾個(gè)命令,并做了刪減):?

1 function suspend(co, result, command, param, size) 2 if command == "CALL" then 3 session_id_coroutine[param] = co 4 elseif command == "SLEEP" then 5 session_id_coroutine[param] = co 6 sleep_session[co] = param 7 elseif command == "RETURN" then 8 local co_session = session_coroutine_id[co] 9 local co_address = session_coroutine_address[co] 10 session_response[co] = true 11 c.send(co_address, skynet.PTYPE_RESPONSE, co_session, param, size) 12 return suspend(co, coroutine_resume(co, ret)) 13 elseif command == "EXIT" then 14 -- coroutine exit 15 local address = session_coroutine_address[co] 16 session_coroutine_id[co] = nil 17 session_coroutine_address[co] = nil 18 session_response[co] = nil 19 elseif command == nil then 20 -- debug trace 21 return 22 end 23 end

? ? 看完skynet.fork,我們?cè)倩剡^頭來,看一看skynet.dispatch_message中消息分發(fā)raw_dispatch_message的具體細(xì)節(jié):

1 local function raw_dispatch_message(prototype, msg, sz, session, source) 2 -- skynet.PTYPE_RESPONSE = 1, read skynet.h 3 if prototype == 1 then 4 local co = session_id_coroutine[session] 5 session_id_coroutine[session] = nil 6 suspend(co, coroutine_resume(co, true, msg, sz)) 7 else 8 local p = proto[prototype] 9 local f = p.dispatch 10 local co = co_create(f) 11 session_coroutine_id[co] = session 12 session_coroutine_address[co] = source 13 suspend(co, coroutine_resume(co, session,source, p.unpack(msg,sz))) 14 end 15 end

? ? RESPONSE的處理先就不說了,在敘述skynet.sleep時(shí)已經(jīng)有所討論。消息會(huì)根據(jù)它的prototype查找proto,接著調(diào)用co_create取得協(xié)程user-co,將message解包后resume到user-co進(jìn)入用戶函數(shù)f。而后續(xù)的流程則與上文我們討論的fork是一樣的了。比如,在f中調(diào)用skynet.call時(shí),會(huì)向目標(biāo)發(fā)送消息,接著會(huì)yield到主co,回到這里的resume點(diǎn),接著進(jìn)入suspend的"CALL"分支,記錄session與user-co的映射關(guān)系。下一次response消息回來時(shí),會(huì)查找到user-co并resume喚醒,在skynet.call后繼續(xù)執(zhí)行,用戶函數(shù)f結(jié)束后進(jìn)入上層調(diào)用,回收user-co,等待新的調(diào)用。

? ? 因?yàn)楸酒覀冴P(guān)注的是協(xié)程調(diào)度模型,而非具體的處理細(xì)節(jié),因此有空再對(duì)skynet.call,skynet.ret等作詳細(xì)的細(xì)節(jié)分析。

轉(zhuǎn)載于:https://www.cnblogs.com/Jackie-Snow/p/6687651.html

總結(jié)

以上是生活随笔為你收集整理的skynet源码阅读5--协程调度模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

深爱激情综合网 | 久久久视频在线 | 一区二区三区视频 | caobi视频| 日韩av不卡在线 | 91成人在线观看高潮 | 日韩免费在线一区 | 天天操天天曰 | 国产精品成久久久久三级 | 黄色小说在线观看视频 | 欧美日韩精品在线一区二区 | 在线观看久久久久久 | 一二三区av | 亚州精品视频 | 婷婷五天天在线视频 | 99久久精品国产系列 | 韩国av一区 | 国产亚洲精品av | 日韩免费一区 | 国产成人久久精品 | 国产亚洲情侣一区二区无 | 2021国产视频 | 亚洲国产精品久久久久婷婷884 | 国产福利91精品一区 | 国产高清久久久久 | 九色91在线 | 人人爽人人搞 | 99热在线国产| 亚洲精品免费播放 | 久久精品成人欧美大片古装 | 亚洲,播放| 人人插人人搞 | 激情综合亚洲 | 欧美精品久久久久久久久久 | 中文字幕在线播放一区二区 | 国产在线观看二区 | 亚洲aⅴ一区二区三区 | 在线观看视频三级 | 久草男人天堂 | 亚洲精品视频在 | 日本爱爱免费视频 | 1024久久 | 天天射网站 | 久久国产精品免费看 | 狠狠狠色丁香综合久久天下网 | 中文字幕三区 | 久久 亚洲视频 | 色99视频| 色综合夜色一区 | 日躁夜躁狠狠躁2001 | 91精品在线免费视频 | 成人免费在线观看入口 | 日韩精品视频在线观看网址 | 久久人人爽人人爽人人片av软件 | 麻豆激情电影 | 国产高清视频在线播放一区 | 狠狠色丁香婷婷综合 | 免费精品久久久 | 欧美日韩国产精品爽爽 | 日韩av午夜 | 四虎影视成人精品国库在线观看 | 久久成人一区 | 亚洲97在线 | 一二三久久久 | 五月天网站在线 | 久久久久国产精品一区 | 狠狠夜夜 | 午夜影院一级 | 亚洲一区二区三区91 | 国产精品成人久久久久 | 亚洲成人午夜av | 亚洲国产中文字幕 | 黄色亚洲大片免费在线观看 | 五月激情站 | 曰韩在线| 中文字幕中文字幕中文字幕 | 色视频网站免费观看 | 97超碰成人 | 天天色综合久久 | 又长又大又黑又粗欧美 | 国产蜜臀av| 免费进去里的视频 | 国产亚洲va综合人人澡精品 | 亚洲乱码国产乱码精品天美传媒 | 午夜av电影院 | 手机在线日韩视频 | 福利二区视频 | 久久精品国产v日韩v亚洲 | www.色婷婷.com | 国产a级精品 | 久久人人97超碰国产公开结果 | 国产精品一区免费看8c0m | 久久久精品欧美一区二区免费 | 最新中文字幕 | 亚洲免费av网站 | 日韩电影一区二区在线 | 久久精品一 | 麻豆系列在线观看 | av福利在线 | 国产高清专区 | 能在线看的av | 日本三级在线观看中文字 | 国产在线精品视频 | 日韩视频免费 | 91av免费观看 | 美女网站在线观看 | 国产999精品久久久影片官网 | 国产伦精品一区二区三区高清 | 永久黄网站色视频免费观看w | 天天夜夜亚洲 | 亚洲午夜久久久综合37日本 | 狠狠干狠狠久久 | 成人在线电影观看 | 精品免费一区二区三区 | 成人av网站在线观看 | 国产精品久久久久永久免费 | 成人在线播放av | 亚洲成人国产精品 | 色搞搞 | 91视频久久久 | 亚洲精品黄色片 | 婷婷新五月 | 欧美精品久 | 麻豆高清免费国产一区 | 人人舔人人 | 久精品视频免费观看2 | 中文字幕第 | 天天干天天干天天干天天干天天干天天干 | aaa毛片视频 | 久久久亚洲成人 | 欧美污网站 | 日本中文字幕电影在线免费观看 | 色在线网| 亚洲综合激情 | 最近日本韩国中文字幕 | 亚洲欧美日韩精品久久久 | 久久国产精品久久久久 | 色妞色视频一区二区三区四区 | 国内精品久久久久久中文字幕 | 国产美腿白丝袜足在线av | 亚洲在线| 久草在线99 | av在线com | 国产成人在线综合 | 久久久久久久久毛片 | 狠狠狠色丁香婷婷综合久久五月 | 国产成人三级三级三级97 | 久草在线视频免费资源观看 | 黄色99视频 | 成片免费观看视频999 | 青草视频在线免费 | 日韩欧美在线高清 | 日韩精品视频在线观看网址 | 在线免费观看av网站 | 成人毛片在线观看视频 | 香蕉影院在线 | 麻豆系列在线观看 | 91人人澡人人爽人人精品 | 97国产在线视频 | 亚洲精品小视频 | www.com.日本一级| 日韩伦理一区二区三区av在线 | 久久久久久久久影院 | 一区二区三区免费在线观看视频 | 国产高清视频在线观看 | 久草免费在线观看 | 992tv在线成人免费观看 | 久一在线 | 91九色在线观看 | 欧美做受高潮1 | 99热99re6国产在线播放 | 天天爽天天爽天天爽 | www.黄色网.com| 激情欧美xxxx | 综合网欧美 | 国产一级二级三级视频 | 欧美少妇bbwhd | 九九久久久久久久久激情 | 麻豆国产精品永久免费视频 | 欧美午夜激情网 | 在线精品一区二区 | 日日日干 | 99超碰在线观看 | 亚洲视频播放 | 96国产在线 | 国产精品久久嫩一区二区免费 | caobi视频 | 国内综合精品午夜久久资源 | 国产高清久久久久 | 国产精品美女久久久网av | 国产亚洲精品久 | 天天射日 | 国产精品久久久久久久久久久久冷 | 99久在线精品99re8热视频 | 国产视频精品免费播放 | 91色视频 | 在线观看中文字幕一区 | www.狠狠色.com | 国产成人一区二区三区免费看 | 91福利区一区二区三区 | 亚洲一区精品人人爽人人躁 | 亚洲欧洲精品一区二区精品久久久 | www.久久久久 | 欧美性大战 | 性色xxxxhd| 日韩精品一区二区三区中文字幕 | 久久精品中文字幕一区二区三区 | 日韩一级片观看 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲国产欧洲综合997久久, | 日韩精品久久久 | 国产96在线观看 | 五月天天天操 | 99九九99九九九视频精品 | www日韩精品 | 六月丁香婷| 国产成人精品一区二区在线 | 久草在线费播放视频 | 欧美久草视频 | 久99久中文字幕在线 | 13日本xxxxxⅹxxx20 | 中文字幕精品视频 | 国产精品一区二区在线观看免费 | 亚洲免费一级电影 | 欧美 激情 国产 91 在线 | 免费欧美 | 91免费在线| 国产精品午夜av | 国产护士av| 久久久久综合 | 日韩在线观看视频一区二区三区 | 在线观看亚洲精品视频 | 中文字幕成人av | 色停停五月天 | 欧美精品亚州精品 | 国产91在线 | 美洲 | 久久成年人视频 | 92精品国产成人观看免费 | av超碰在线 | av网站地址 | 午夜美女福利直播 | av天天澡天天爽天天av | 国产精品久久久一区二区 | 天天干天天操天天搞 | 中文字幕一区二区在线观看 | 免费国产一区二区 | 日韩无在线 | 成人久久国产 | 91在线视频播放 | 国产精品嫩草69影院 | 99精品在这里 | 婷婷激情在线观看 | 国产精品久久久毛片 | 日日干日日色 | 国产免费一区二区三区最新6 | 国产欧美精品在线观看 | 在线视频日韩欧美 | 日韩av一区二区三区在线观看 | 超碰在线cao| 日韩精品一区二区不卡 | 久久伊人免费视频 | 香蕉网址| a√资源在线 | 91福利区一区二区三区 | 亚洲免费不卡 | 日本精品视频一区 | 日韩精品视频免费看 | 伊人色综合网 | avav片 | 亚洲精品91天天久久人人 | 丁香五婷 | 中文字幕中文字幕中文字幕 | 日日操天天操夜夜操 | 开心激情五月网 | 成人av免费网站 | 久久试看 | 亚洲一区二区精品3399 | 日韩午夜在线观看 | 久久高清国产视频 | 日韩aⅴ视频| 亚洲码国产日韩欧美高潮在线播放 | 精品天堂av| 91片黄在线观看动漫 | 国产精品va在线播放 | 久热av在线 | 天天色天天色天天色 | www.888.av| 高清美女视频 | 麻豆视频免费入口 | 国产青青青 | 夜夜视频欧洲 | 最近中文字幕高清字幕在线视频 | 精品99999| 国产一区二区在线观看视频 | 五月婷亚洲 | 99久久精品免费视频 | 人人澡超碰碰97碰碰碰软件 | 我要看黄色一级片 | 日日干网 | 国产精品高清免费在线观看 | 99久热在线精品视频 | 久久久香蕉视频 | 日本少妇久久久 | 麻豆视频免费入口 | 精品伊人久久久 | 黄色亚洲在线 | 91黄色在线视频 | 91中文字幕在线视频 | 日韩免费视频线观看 | 欧美日韩亚洲在线观看 | 麻豆视频免费在线 | 亚州黄色一级 | 激情在线网站 | 欧美成年网站 | 91粉色视频 | 国产91精品高清一区二区三区 | 成人黄色中文字幕 | 国产午夜精品久久 | 欧美一二在线 | 波多野结衣视频一区二区三区 | 九九热精品视频在线播放 | 日韩有码网站 | 999久久国产 | 欧美日韩首页 | 在线观看国产亚洲 | 日韩免费电影一区二区 | 久久久久福利视频 | 美女网站免费福利视频 | 奇米网在线观看 | av成人免费在线看 | 91手机电视 | 婷香五月 | 国产成人在线精品 | 国产一级做a | 精品天堂av | 99在线视频精品 | 日韩一二三区不卡 | 欧美日韩国产成人 | 久久国产精品视频免费看 | 麻豆久久久久 | 精品视频在线观看 | 久热电影 | 欧美激情精品一区 | 美女在线观看网站 | 亚洲人天堂 | 国产又粗又猛又黄 | 色综合天天射 | 国产精品18久久久久久久久久久久 | 九九综合久久 | 国产91综合一区在线观看 | 免费合欢视频成人app | 日韩高清不卡在线 | 日韩精品一区二区三区第95 | 四虎影视精品成人 | 国产一区二区在线影院 | www最近高清中文国语在线观看 | 欧美日韩首页 | 久久久精品欧美一区二区免费 | 九九热久久久 | 精品在线观看一区二区 | 在线观看香蕉视频 | 日韩高清不卡在线 | 中文字幕在线一二 | 成人在线免费小视频 | 精品久久国产精品 | 久久黄色片子 | 久久精品人人做人人综合老师 | 视频国产在线 | 91九色性视频 | 麻豆免费视频 | 色视频在线观看 | 天天激情综合网 | 久久精品一区二区三区国产主播 | 国产一区二区在线免费观看 | 日韩亚洲欧美中文字幕 | 五月天六月色 | 91在线欧美 | 亚洲精品乱码久久久久久高潮 | av在线成人 | 亚洲高清视频一区二区三区 | 久久天天操 | 午夜国产福利在线观看 | 97电影在线| 中文字幕色婷婷在线视频 | 亚洲永久av | 日韩免费中文字幕 | 日p视频在线观看 | 国产丝袜在线 | 中文免费在线观看 | 97在线视 | 一本大道久久精品懂色aⅴ 五月婷社区 | 在线高清 | 伊人伊成久久人综合网小说 | 欧美日韩啪啪 | 亚洲一级片在线观看 | 国产精品99免视看9 国产精品毛片一区视频 | a v在线视频 | 久久论理 | 成年性视频 | av观看免费在线 | 天天性天天草 | 国产护士av | 久久电影色 | 国产在线p | 色综合天天综合在线视频 | 福利视频一区二区 | 福利视频区 | 国产在线资源 | 欧美日韩另类视频 | 天天夜操| 国产一区二区在线播放视频 | 国产精品精品国产色婷婷 | 久久免费成人网 | 免费色网站| 成人av电影免费 | 国产精品久久久久久一区二区三区 | 久草在线最新免费 | 午夜视频一区二区三区 | av丁香花| 国产精品99蜜臀久久不卡二区 | 香蕉网在线观看 | 中文字幕成人在线 | 一区三区视频在线观看 | 麻豆成人精品视频 | 九色视频网址 | 午夜精品一区二区三区免费视频 | 日韩欧美在线免费观看 | 国产在线最新 | 一区二区三区免费在线观看视频 | 亚洲精品免费视频 | 天天摸天天操天天爽 | 中文字幕日韩国产 | 成人免费视频免费观看 | 国产精品久久久久久久久久了 | 久久成人国产精品 | 亚洲综合在线五月天 | 美女久久视频 | 国产一区二区高清 | 天天操天天操天天操天天 | 日本三级中文字幕在线观看 | 日韩电影中文字幕在线 | 亚洲精品影院在线观看 | 国产理论片在线观看 | 欧洲亚洲精品 | 久久久久久国产精品久久 | 最近免费观看的电影完整版 | 91中文在线观看 | 欧美男女爱爱视频 | 97精品国产一二三产区 | www.福利视频 | 成年人黄色免费视频 | 91麻豆精品国产91久久久更新时间 | 成年人黄色免费网站 | 国产一区二区免费看 | 激情电影在线观看 | 中文字幕在线观看第一页 | 亚洲国产精品人久久电影 | 99精品热| 欧美一级视频在线观看 | avhd高清在线谜片 | 中文国产字幕在线观看 | 久久精品国产精品 | 中文字幕91在线 | 亚洲黑丝少妇 | 在线观看亚洲精品视频 | 国产精品一区二区 91 | 中文av网| 国产精品免费不卡 | 麻豆视频入口 | 久久婷婷一区二区三区 | 激情网在线观看 | 日批视频| 欧美一级艳片视频免费观看 | 天天射天 | 91tv国产成人福利 | av在线精品 | 国产中文在线字幕 | 中文字幕久久精品 | 日韩精品专区在线影院重磅 | 亚欧洲精品视频在线观看 | 久久精品视频在线免费观看 | 97电院网手机版 | 9在线观看免费高清完整版在线观看明 | 天天操天天操天天爽 | 久久99这里只有精品 | 黄色在线成人 | 亚洲国产精品99久久久久久久久 | 久久国语露脸国产精品电影 | 九九视频在线观看视频6 | 青青久草在线 | 中文字幕亚洲高清 | 国内精品久久久久影院优 | 玖玖在线观看视频 | 免费网站观看www在线观看 | 久久线视频 | 日韩黄在线观看 | 日韩精品免费一区二区在线观看 | 欧美日本不卡高清 | 91亚洲狠狠婷婷综合久久久 | 中文字幕欧美日韩va免费视频 | 99久久精品免费看国产免费软件 | 午夜影院在线观看18 | 91亚洲夫妻 | 久久久久久久久久久国产精品 | 天天爱av导航 | 日韩精品中文字幕在线观看 | 欧美少妇xxx | 国产 在线 日韩 | 五月激情综合婷婷 | 97超碰人人澡 | 精品一二三四在线 | 欧美精品三级在线观看 | 国产91精品一区二区麻豆网站 | 国产在线观看,日本 | 一级特黄aaa大片在线观看 | 中文字幕第 | 精品久久久久久一区二区里番 | 狠狠网亚洲精品 | 在线精品观看 | 在线免费观看涩涩 | 午夜影院日本 | 国偷自产中文字幕亚洲手机在线 | 国产精品一区二区在线观看 | 国产无套精品久久久久久 | 国产精品久久久电影 | 久草免费在线视频 | av在线之家电影网站 | 国产精品一区在线观看你懂的 | 国产日产亚洲精华av | 欧美日韩另类在线 | 成人毛片一区 | 日韩免费一级电影 | 99 色 | 久久精品黄 | 在线电影91| 久久久久久久久久久电影 | 亚洲伦理一区二区 | 国产精品免费不卡 | 狠狠狠色丁香综合久久天下网 | 成人免费观看网站 | 国产日韩视频在线播放 | 黄色免费观看网址 | 久久久久久亚洲精品 | 伊人色综合久久天天网 | 欧美日韩一区二区视频在线观看 | 国产麻豆视频在线观看 | 久久撸在线视频 | 成人在线黄色 | 在线视频手机国产 | 国产精品理论片在线观看 | 国产精品一级在线 | 欧美三级在线播放 | 精品一区久久 | 欧美久久综合 | 免费看国产a | 91人网站| 欧美日韩性 | 激情文学综合丁香 | 黄色免费av | 国产精品原创av片国产免费 | 激情深爱.com | 日本精品视频免费 | 日韩高清免费电影 | 精品在线观看视频 | 91在线精品播放 | 国产主播99| 欧美久草网| 精品国产视频一区 | 91免费看黄 | 国产精品一区久久久久 | 色狠狠一区二区 | 久草在线看片 | 91精品在线免费 | www.成人久久 | 国产黄色大片 | 九色最新网址 | 中文字幕高清免费日韩视频在线 | 91丨九色丨91啦蝌蚪老版 | 日韩中文在线电影 | 国产涩涩网站 | 久久精彩视频 | 免费高清在线观看成人 | 视频 天天草 | 免费一级特黄毛大片 | 亚洲一区精品人人爽人人躁 | 视频一区久久 | 国产在线传媒 | www视频免费在线观看 | 国产精品人成电影在线观看 | 色视频在线观看免费 | 国产又粗又猛又黄又爽的视频 | 国产亚洲久一区二区 | 日本成人黄色片 | 成 人 免费 黄 色 视频 | 91成人精品一区在线播放69 | 欧美aa一级 | 波多野结衣精品视频 | 五月婷婷丁香在线观看 | 欧美日韩亚洲国产一区 | 国产在线资源 | av成人动漫 | 日韩国产欧美在线视频 | 在线国产高清 | 四虎最新域名 | 99视屏| 91麻豆免费视频 | 在线观看视频日韩 | 久久99精品国产麻豆婷婷 | av不卡免费看 | 综合网天天 | 婷婷国产一区二区三区 | 超碰免费97| 天天干人人干 | 成人在线免费视频观看 | 日日爽夜夜操 | 精品99久久久久久 | 在线免费观看成人 | 国产黄色片在线 | 国产日韩精品一区二区三区 | 久操视频在线免费看 | 国产精品美女久久久网av | 9在线观看免费高清完整版在线观看明 | 又色又爽又黄高潮的免费视频 | 深爱激情久久 | 久久精品视频日本 | japanesefreesex中国少妇 | 国产精品第二页 | 久久久久久久影院 | 国产区免费 | www.伊人色.com | 成人资源站 | 午夜黄色 | 999久久久久久久久久久 | 国产专区欧美专区 | 国产美女无遮挡永久免费 | 欧美一二三区播放 | 免费av网站观看 | 亚洲国内精品在线 | 日韩素人在线观看 | 久草久| 天天综合操 | 香蕉视频久久久 | 国产1区在线观看 | 国产xx在线| 偷拍精品一区二区三区 | 成人午夜影院在线观看 | 99久久精品免费看国产麻豆 | 国内综合精品午夜久久资源 | 欧美另类一二三四区 | 看国产黄色大片 | 视频99爱 | 久久久久久久18 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 天天操天天摸天天射 | 国产一区二区三区视频在线 | 国产精品岛国久久久久久久久红粉 | 夜夜操天天干 | 黄色精品国产 | 色偷偷888欧美精品久久久 | 色综合小说 | 午夜久久 | 在线看的av网站 | 992tv在线观看网站 | 亚洲女人天堂成人av在线 | 欧美日韩在线网站 | 碰天天操天天 | 西西44人体做爰大胆视频 | 日韩不卡高清视频 | 天天操天天操天天爽 | 免费视频久久久久久久 | 午夜精品久久久久99热app | 91干干干| 亚洲一区二区三区在线看 | 91在线视频观看 | 欧美成人xxxx| 国产精品爽爽久久久久久蜜臀 | 精品1区2区3区 | 亚洲精品自拍 | 麻豆免费视频网站 | 久久九九国产视频 | 91热视频 | 国产精品视频观看 | 黄色99视频 | 日韩欧美视频在线播放 | 国产系列 在线观看 | 欧美国产精品久久久久久免费 | 亚洲成人黄色在线观看 | 久久国产成人午夜av影院宅 | 亚洲第一伊人 | 2021国产精品视频 | 国产日韩精品一区二区三区 | 中文资源在线播放 | 日韩va欧美va亚洲va久久 | 字幕网在线观看 | 美女网站在线观看 | av天天草 | 日韩久久久久久久久久久久 | 国产精品99蜜臀久久不卡二区 | 亚洲3级 | 欧美一区二区三区激情视频 | 亚洲每日更新 | 永久免费观看视频 | 欧美一性一交一乱 | 三级av在线免费观看 | 欧美久久久久久久久久久 | 韩日电影在线 | 国产精品美| 精品久久久久国产免费第一页 | 午夜国产福利在线 | 免费在线观看一区 | zzijzzij亚洲成熟少妇 | av电影免费在线看 | 久草av在线播放 | av福利免费 | 久久96国产精品久久99漫画 | 麻豆传媒电影在线观看 | 天天干天天拍天天操天天拍 | 免费麻豆视频 | 国产日产精品一区二区三区四区的观看方式 | 亚洲精品自拍视频在线观看 | 国产亚洲视频在线免费观看 | 91大神精品视频在线观看 | 99综合影院在线 | 美国av片在线观看 | 国产白浆在线观看 | 91色一区二区三区 | 成年人视频在线免费观看 | 欧美激情精品久久久久久 | 精品欧美一区二区在线观看 | 波多野结衣视频网址 | 日韩在线观看的 | 国产成人精品亚洲a | 黄色在线免费观看网址 | 久久久久久毛片精品免费不卡 | 成人在线观看网址 | 国产h片在线观看 | 午夜精品视频免费在线观看 | 欧美一级特黄aaaaaa大片在线观看 | 成人免费视频免费观看 | 日本深夜福利视频 | av免费观看高清 | 国产精品久久久久999 | 国产精品美女999 | 久久系列| 黄色三级在线观看 | 亚洲视频在线免费看 | 久久久黄色 | 日本中文字幕久久 | 国产高清在线 | 国产精品福利午夜在线观看 | 玖玖爱国产在线 | 亚洲v欧美v国产v在线观看 | 摸bbb搡bbb搡bbbb | 99夜色 | 亚洲精品乱码白浆高清久久久久久 | 亚洲欧美在线综合 | 人人干人人草 | 午夜久久电影网 | 欧美日韩网站 | av在线超碰 | 99视频免费在线观看 | 日韩一级成人av | av线上免费看 | 成人午夜影院在线观看 | 国产a视频免费观看 | 日韩二区三区在线观看 | 91香蕉久久 | 久久伊人91| 国产精品久久久久久久久搜平片 | 五月天欧美精品 | 国产成人免费在线观看 | 日韩免费视频网站 | 99se视频在线观看 | 亚洲精品久久在线 | 狠狠干狠狠操 | 黄色综合 | 九色精品免费永久在线 | 亚洲精品小视频在线观看 | 久久蜜臀一区二区三区av | 久久精品91视频 | www.大网伊人| 亚洲免费观看在线视频 | 手机在线观看国产精品 | 久久久av电影 | 日韩无在线 | 最新真实国产在线视频 | 久久免费看视频 | 黄色国产成人 | 美女黄视频免费 | 一区二区不卡 | 丁香婷婷在线观看 | 97av影院 | 中文字幕乱视频 | 成年人网站免费观看 | 国产精品久久久av久久久 | 日韩成人欧美 | 欧美人体xx| 久久视频在线视频 | 免费看一级特黄a大片 | 国产精品美女久久久久久久 | 国产精品亚洲综合久久 | av不卡网站 | 天天躁日日 | 国产片免费在线观看视频 | 亚洲黄色激情小说 | 亚洲理论在线观看 | 欧美激情综合色综合啪啪五月 | 国产成人亚洲在线观看 | 欧美91在线 | 欧美日韩高清一区 | 欧美巨乳波霸 | 91精品国产91久久久久久三级 | 国产一区欧美二区 | 天天射成人 | 国产视频综合在线 | 五月婷婷狠狠 | 久久精品一区八戒影视 | 播五月综合 | 黄色网大全 | 欧美精品午夜 | 国产亚洲欧美日韩高清 | 五月激情电影 | 尤物九九久久国产精品的分类 | 亚洲精品高清一区二区三区四区 | 91久久人澡人人添人人爽欧美 | 久草视频在线免费看 | 探花系列在线 | 超碰在线9 | 日日夜夜噜噜噜 | 成年人在线看视频 | 四虎影视成人永久免费观看视频 | 在线观看亚洲专区 | 久久精品成人热国产成 | 五月天婷婷免费视频 | 国产精品久久久久免费观看 | 毛片网站在线看 | 国产乱对白刺激视频不卡 | 免费在线电影网址大全 | 国产一区免费观看 | 色成人亚洲 | 精品国产视频在线 | 国产精品一区二区久久国产 | 91免费观看网站 | 国产又粗又硬又爽的视频 | 日日干天天射 | 精品国产视频一区 | 在线观看网站你懂的 | 亚洲jizzjizz日本少妇 | 伊人国产在线播放 | 天堂入口网站 | 国产精品九九热 | 黄色毛片大全 | 国产成人av免费在线观看 | 午夜少妇 | 久久久在线免费观看 | 久久免费av | 91久久国产自产拍夜夜嗨 | 日韩欧美亚洲 | 亚洲精品免费在线观看 | 免费久久99精品国产婷婷六月 | 中文字幕黄色网址 | 一级片黄色片网站 | 欧美日韩一区二区视频在线观看 | 91精品国产高清自在线观看 | 在线婷婷| 最近日本中文字幕a | 日韩免费视频播放 | 狠狠操欧美 | 精品久久久久免费极品大片 | 国产精品欧美久久 | 九九热精品视频在线播放 | 日本中文在线观看 | 最新色站| 欧美日韩性| 国产婷婷一区二区 | 国产淫片 | 久久久999免费视频 日韩网站在线 | 免费看一级 | 色资源二区在线视频 | 黄色特一级片 | 三级黄色在线 | 欧美性猛片 | 国产视频在线观看一区 | 国产精品成人在线 | 少妇bbbb揉bbbb日本 | 国产小视频在线观看 | 日韩精品久久久免费观看夜色 | 99精品一区二区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产成人福利片 | 国产人成精品一区二区三 | 色悠悠久久综合 | 欧美日韩高清在线观看 | a在线观看视频 | 国产免费一区二区三区网站免费 | 国产一级电影网 | 国产99久久久久久免费看 | 激情综合色播五月 | 成人黄色小视频 | 国产一线天在线观看 | 国产色视频网站 | 欧美精品久久久久性色 | 日日碰夜夜爽 | 日韩精选在线 | 婷婷在线视频观看 | 日韩精品一区二区三区高清免费 | 久草在线资源网 | 亚洲区精品视频 | 精品免费视频123区 午夜久久成人 | 亚洲午夜久久久久久久久电影网 | 天天操操操操操 | 97综合视频 | 久久这里只有精品9 | 97超级碰碰碰视频在线观看 | 亚洲成年片 | a在线一区 | 久久成人亚洲欧美电影 | 五月婷婷综合激情 | 不卡的av中文字幕 | 久久久www成人免费毛片 | 久久精品xxx | 免费黄色在线播放 | 国产精品美女 | 337p西西人体大胆瓣开下部 | 狠狠色噜噜狠狠狠合久 | 五月香视频在线观看 | 狠狠干婷婷色 | 中文字幕av影院 | 97高清免费视频 | 亚洲国产日韩精品 | 中文字幕一区二区在线观看 | 精品国精品自拍自在线 | 久久精品一区二区国产 | 精品在线观看国产 | 色网站免费在线看 | www.av免费 | 国产传媒中文字幕 | 少妇搡bbbb搡bbb搡aa | 在线视频 一区二区 | 国产高清黄色 | 狠狠干狠狠久久 | 99热国产在线中文 | 999电影免费在线观看 | 国产精品av久久久久久无 | 国产精品一区二区三区在线 | 一区二区三区电影大全 | 黄色免费观看网址 | 国产精品久久久久久爽爽爽 | 97免费在线观看视频 | 国产一级做a爱片久久毛片a | 中文字幕 国产专区 | 欧美a级在线免费观看 | 一本一道久久a久久综合蜜桃 | 不卡的av电影 | 国产福利在线 | 久久久久综合网 | 午夜影院一级片 | 欧美色操 | 国产一二区在线观看 | 久久国产精品免费观看 | 午夜精选视频 | 国产精品永久免费 | 国产一区二区精品91 | 日韩美在线 | 欧美精品生活片 | 69av视频在线| 五月天六月丁香 | 日韩 精品 一区 国产 麻豆 | 国产在线观看你懂的 | 国产精品久免费的黄网站 | 亚洲精品国产自产拍在线观看 | 特黄免费av| 国产一区二区成人 | 一区二区网 | 韩国av永久免费 | 97超碰人人澡 | 欧美怡红院视频 | 丁香婷婷深情五月亚洲 | 久久不见久久见免费影院 | 99精品久久久久 | 精品一区二区电影 | 国产精品久久久精品 | 久久久综合精品 | 四虎国产精品成人免费影视 | 91免费看黄色 | 日日夜精品 | 日韩av看片| 日日操日日干 | 香蕉视频一级 | 99免费精品视频 | 国产亚洲综合在线 | 国产精品免费视频一区二区 | 五月天激情综合 | 国产成人精品一区二区三区在线观看 | 伊人色**天天综合婷婷 | 日韩精品视频免费在线观看 | av免费在线网 | 97超级碰碰|