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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Corda服务的异步流调用

發布時間:2023/12/3 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Corda服务的异步流调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何使流程更快? 如果您已經與Corda合作了一段時間,那么您很有可能已經考慮過這一點。 您可以通過以下幾方面進行合理的調整來提高性能:事務大小,優化查詢并減少整個Flow執行過程中所需的網絡躍點數。 在某種程度上,還有另一種可能也讓您無所適從。 多線程。

更具體地說,從已經執行的流程異步啟動流程/子流程。 這樣做有可能極大地改善您的CorDapps性能。

如果您嘗試此操作,則可能會遇到與我得到的類似的例外。 此外,到目前為止,Corda還不支持子流的線程化。 但是,仍然可以做到。 我們只需要對此保持聰明。 那就是Corda Services中多線程進入的地方。它們可以在Flow中調用,但不會妨礙Flow對其施加的嚴格規則,因為正在執行的Flow不會在服務中掛起或檢查點。

在本文中,我將重點介紹從服務內部以多線程方式啟動流程。 在Corda中還可以使用其他線程,但這是我想更深入研究的有趣領域。 另一方面,從服務啟動流程也充滿了一些陷阱。 這些需要考慮并遍歷。 否則,您將有一天醒來,想知道為什么一切都沒有明顯的原因停止了。

幸運的是,我在這里為您提供幫助。 對我來說,我必須直面這個問題。

對我來說幸運的是,R3能夠提供幫助。

作為參考,我將在本文中使用Corda Enterprise 3.1 。 要真正從本文的內容中受益,您將需要使用Enterprise。 這是由于Enterprise支持多個異步執行的流。 開源目前不允許這樣做。

我還建議您查看我以前的文章Corda Services 101,因為我們將在此基礎上建立基礎。

情境

讓我們從概述本帖子將要使用的場景開始。

  • 隨著時間的推移,甲方向甲方發送一些消息。 每個消息來自一個流。
  • 甲方回應所有發送給他們的消息。 每個消息都來自單個Flow,但是它們希望在單個位置執行該過程。

可以快速組合一系列流程來滿足此要求。 按順序進行此操作應該證明絕對是零問題(在解決了我們所有犯下的愚蠢錯誤之后)。

盡管這種情況對于需要性能的情況很不利,但是它很容易理解,因此我們可以專注于異步運行。

慢速同步解決方案

在研究異步解決方案之前,快速瀏覽一下將要使用的代碼將是有益的。 下面是ReplyToMessagesFlow的代碼。 我不想遍歷所有底層代碼,而只想專注于與此帖子相關的代碼:

@InitiatingFlow @StartableByRPC class ReplyToMessagesFlow : FlowLogic<List>() {@Suspendableoverride fun call(): List {return messages().map { reply(it) }}private fun messages() =repository().findAll(PageSpecification(1, 100)).states.filter { it.state.data.recipient == ourIdentity }private fun repository() = serviceHub.cordaService(MessageRepository::class.java)@Suspendableprivate fun reply(message: StateAndRef) = subFlow(SendMessageFlow(response(message), message))private fun response(message: StateAndRef): MessageState {val state = message.state.datareturn state.copy(contents = "Thanks for your message: ${state.contents}",recipient = state.sender,sender = state.recipient)} }

如果您確實閱讀過Corda Services 101,那么您可能已經認識到此類。 正如我之前提到的,為提出的問題組合解決方案非常容易。 從Vault檢索MessageState ,然后啟動子subFlow以subFlow進行回復。

這段代碼將愉快地逐個傳遞消息。

那么,我們可以采用此代碼并使其更快嗎?

異步嘗試失敗

讓我們嘗試通過引入線程來使當前代碼更快! 我們將使用CompletableFutures來做到這一點:

@InitiatingFlow @StartableByRPC class ReplyToMessagesBrokenAsyncFlow : FlowLogic<List>() {@Suspendableoverride fun call(): List {return messages().map { CompletableFuture.supplyAsync { reply(it) }.join() }}// everything else is the same as before }

大多數代碼與以前相同,因此已從示例中排除。

對代碼的唯一更改是添加了CompletableFuture及其supplyAsync方法(來自Java)。 它嘗試在單獨的線程上開始為每個消息執行reply功能。

那么為什么將本節命名為“一次失敗的嘗試”? 我指的是執行以上代碼時獲得的堆棧跟蹤:

java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Required value was null.at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_172]at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) ~[?:1.8.0_172]at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1592) ~[?:1.8.0_172]at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582) ~[?:1.8.0_172]at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_172]at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_172]at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_172]at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) ~[?:1.8.0_172] Caused by: java.lang.IllegalArgumentException: Required value was null.at net.corda.node.services.statemachine.FlowStateMachineImpl.checkDbTransaction(FlowStateMachineImpl.kt:201) ~[corda-node-3.1.jar:?]at net.corda.node.services.statemachine.FlowStateMachineImpl.processEventImmediately(FlowStateMachineImpl.kt:192) ~[corda-node-3.1.jar:?]at net.corda.node.services.statemachine.FlowStateMachineImpl.subFlow(FlowStateMachineImpl.kt:271) ~[corda-node-3.1.jar:?]at net.corda.core.flows.FlowLogic.subFlow(FlowLogic.kt:312) ~[corda-core-3.1.jar:?]at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow.reply(ReplyToMessagesBrokenAsyncFlow.kt:57) ~[classes/:?]at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow.access$reply(ReplyToMessagesBrokenAsyncFlow.kt:19) ~[classes/:?]at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow$poop$$inlined$map$lambda$1.get(ReplyToMessagesBrokenAsyncFlow.kt:46) ~[classes/:?]at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow$poop$$inlined$map$lambda$1.get(ReplyToMessagesBrokenAsyncFlow.kt:19) ~[classes/:?]

您將獲得它,以及Corda正在打印的一長串檢查點日志行。 此外,只是為了掩蓋我的屁股并向您證明這不是由于CompletableFuture的問題引起的,這是使用Executor線程池時出現的另一個錯誤:

Exception in thread "pool-29-thread-1" Exception in thread "pool-29-thread-2" java.lang.IllegalArgumentException: Required value was null.at net.corda.node.services.statemachine.FlowStateMachineImpl.checkDbTransaction(FlowStateMachineImpl.kt:201)at net.corda.node.services.statemachine.FlowStateMachineImpl.processEventImmediately(FlowStateMachineImpl.kt:192)at net.corda.node.services.statemachine.FlowStateMachineImpl.subFlow(FlowStateMachineImpl.kt:271)at net.corda.core.flows.FlowLogic.subFlow(FlowLogic.kt:312)at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow.reply(ReplyToMessagesBrokenAsyncFlow.kt:48)at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow.access$reply(ReplyToMessagesBrokenAsyncFlow.kt:19)at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow$call$$inlined$map$lambda$1.run(ReplyToMessagesBrokenAsyncFlow.kt:29)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748) java.lang.IllegalArgumentException: Required value was null.at net.corda.node.services.statemachine.FlowStateMachineImpl.checkDbTransaction(FlowStateMachineImpl.kt:201)at net.corda.node.services.statemachine.FlowStateMachineImpl.processEventImmediately(FlowStateMachineImpl.kt:192)at net.corda.node.services.statemachine.FlowStateMachineImpl.subFlow(FlowStateMachineImpl.kt:271)at net.corda.core.flows.FlowLogic.subFlow(FlowLogic.kt:312)at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow.reply(ReplyToMessagesBrokenAsyncFlow.kt:48)at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow.access$reply(ReplyToMessagesBrokenAsyncFlow.kt:19)at com.lankydanblog.tutorial.flows.ReplyToMessagesBrokenAsyncFlow$call$$inlined$map$lambda$1.run(ReplyToMessagesBrokenAsyncFlow.kt:29)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)

希望您在這一點上相信我。 如果不是,請參考我一開始所說的內容。 Corda當前不支持從正在執行的流程異步啟動新流程。 我相信他們正在努力。 但是,截至目前。 不要使用此解決方案。

可行的異步解決方案

我們已經看到,在Flow內部執行線程是行不通的。 為了繼續追求性能,我們現在來看一下Corda服務中的線程。 這并不奇怪,因為標題和開頭的段落已經討論了這一點……

拋開諷刺的評論。 委派服務將需要對原始解決方案進行一些重做,但是大部分代碼將保持不變。 大部分內容將被復制并粘貼到另一個類中。 從流中獲取代碼并將其放入服務中。

以下是新的MessageService ,其中包含原始ReplyToMessagesFlow的代碼,但進行了一些更改和添加了線程代碼:

@CordaService class MessageService(private val serviceHub: AppServiceHub) : SingletonSerializeAsToken() {private companion object {val executor: Executor = Executors.newFixedThreadPool(8)!!}fun replyAll() {messages().map {executor.execute {reply(it)}}}private fun messages() =repository().findAll(PageSpecification(1, 100)).states.filter { it.state.data.recipient == serviceHub.myInfo.legalIdentities.first() }private fun repository() = serviceHub.cordaService(MessageRepository::class.java)private fun reply(message: StateAndRef) =serviceHub.startFlow(SendMessageFlow(response(message), message))private fun response(message: StateAndRef): MessageState {val state = message.state.datareturn state.copy(contents = "Thanks for your message: ${state.contents}",recipient = state.sender,sender = state.recipient)} }

如您所見,大多數代碼與ReplyToMessagesFlow中的代碼相同。

我要強調的第一點是使用Executor線程池。 我這里沒有使用CompletableFutures ,原因是我們稍后將要討論的原因。

那么,這一切如何運作? replyAll函數在新的系統線程上對從Vault檢索到的每條消息執行reply 。 該新線程又調用startFlow 。 觸發將新的流程放入“流程工作器”隊列中。 這是所有樂趣發生的地方,一切開始變得混亂。

Flow Worker隊列負責執行Flow執行的順序,并將在Flow添加和完成時填充并為空。 該隊列對于協調節點內流的執行至關重要。 當涉及到多線程Flows本身時,它也是痛苦的根源。

下圖顯示了隊列的簡化視??圖:

流進入隊列并在處理后離開

我為什么要談論這個隊列? 好吧,我們需要格外小心,不要將無法完成的流程填滿隊列。

怎么會這樣 通過在正在執行的流程中啟動流程,然后流程等待其完成。 直到隊列的線程池中的所有線程都遇到這種情況,這才不會引起問題。 一旦發生,它將使隊列陷入僵局。 沒有流程可以完成,因為它們都依賴于許多排隊的流程來完成。

流留在隊列中,等待它們調用的流完成

這很可能在多次觸發相同流量的高吞吐量系統上發生。 現在,隊列中充滿了等待其他流完成的流的機會增加了。

這不是很好,使事情變得有些困難。 但是,只要我們意識到這一點,我們就可以適應它。

這也是Executor線程池而不是CompletableFuture的原因。 通過啟動新流程而不等待其完成,可以避免死鎖。 這也是該解決方案的缺點。 沒有新Flow的結果,其功能將極為有限。

話雖如此,如果您的用例適合上面顯示的結構,那么我絕對建議您使用此解決方案。

在下一節中,我將討論如何使用CompletableFuture 。

CompletableFutures的危險解決方案

這很危險的原因很簡單。 僵局。 我建議不要使用此解決方案。 除非您的節點有權訪問足夠的線程,否則要減少用無法完成的線程填充隊列的機會。 另一方面,這是一個更為理想的解決方案,因為您可以等待啟動的流程的結果并對其進行處理。 這使解決方案更加有用。

以下是帶有CompletableFutures的MessageService外觀:

@CordaService class MessageService(private val serviceHub: AppServiceHub) : SingletonSerializeAsToken() {fun replyAll(): List =messages().map { reply(it).returnValue.toCompletableFuture().join() }// everything else is the same as before }

除了replyAll函數外,代碼replyAll 。 返回的CordaFuture提供的toCompletableFuture函數,調用join以等待所有期貨的結果并返回總體結果。

如前所述,此解決方案可能導致死鎖。 但是,對于您的情況,也許并非如此。 由您決定發生這種情況的可能性。 如果不利于您,最好走開。 選擇堅持使用類似于上一節中詳述的同步或異步解決方案。

我真的需要這樣做嗎?

現在,是的,我相信你會的。

展望未來,我懷疑您是否需要依靠我在本文中提出的解決方案。

我相信Corda正在努力消除從Flow內部啟動Flow時甚至不必考慮線程的需求。 取而代之的是,您可以簡單地調用帶有選項的subFlow來異步運行它。 這本可以使我們保留原始的同步解決方案,但可以選擇使每個subFlow在單獨的線程上運行。

將各部分結合在一起

總之,在Corda Enterprise 3中,可以在正在執行的流程中異步啟動新流程。 根據您的用例,這可以提供良好的性能優勢。 有缺點。 您不能等待異步流的結果,而不會用死鎖的威脅來威脅您的節點。 節點的基礎隊列無法處理它所處的情況。因此,在將線程引入到Flow調用中時,需要格外小心。 值得慶幸的是,隨著Corda的發展,您甚至不必擔心自己這樣做。 它甚至可能像添加布爾函數參數一樣簡單。 那是夢想!

這篇文章中使用的代碼可以在我的GitHub上找到 。

如果您認為這篇文章有幫助,可以在Twitter上@LankyDanDev關注我,以跟上我的新文章。

翻譯自: https://www.javacodegeeks.com/2018/09/asynchronous-flow-invocations-corda-services.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Corda服务的异步流调用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩综合第一页 | 日韩视频在线播放 | 国产一卡久久电影永久 | 国产精品k频道 | 波多野结衣精品 | 免费在线激情电影 | 日韩国产精品一区 | 最新午夜 | 国产一级特黄毛片在线毛片 | 超碰在线中文字幕 | 国产在线va | 免费国产视频 | 婷婷丁香五 | 久久精品8 | 日韩一二三在线 | 99久久精品费精品 | 超碰免费公开 | 在线播放国产一区二区三区 | 亚洲精品在线免费 | 一区二区不卡 | 亚洲成人免费观看 | 麻豆 free xxxx movies hd | 国内99视频| 在线之家免费在线观看电影 | 91在线观 | 99久久精品国产一区 | 国产流白浆高潮在线观看 | 午夜国产福利在线 | 免费瑟瑟网站 | 97久久精品午夜一区二区 | 久久久久久久国产精品影院 | 国产夫妻自拍av | 免费福利影院 | 九热精品 | 日韩av片在线| 欧美精品久久久久久久久久久 | 四虎在线免费观看 | 精品久久片 | 国产一区二区不卡在线 | 国产黄大片 | 探花视频在线观看免费版 | 视频 国产区 | 808电影免费观看三年 | 天天综合日 | 69久久久久久久 | 九七视频在线观看 | 91精品爽啪蜜夜国产在线播放 | 亚洲人天堂 | 97在线精品 | 国产免费小视频 | 欧美二区三区91 | 三级动态视频在线观看 | 久久伦理影院 | www.五月天 | 久久久免费 | 不卡的av中文字幕 | 日韩,精品电影 | 一区二区三区手机在线观看 | 黄色精品在线看 | a色视频 | 亚洲午夜av电影 | 欧美日韩一区二区三区在线免费观看 | 中文字幕第一 | 亚洲精品一区中文字幕乱码 | 又黄又爽又无遮挡的视频 | 久久久久国产a免费观看rela | 超级碰碰免费视频 | 最新婷婷色 | 亚洲成人资源 | 日韩a免费 | 日韩理论| 视频在线观看91 | 国产精品亚洲a | 婷婷电影网| 一级全黄毛片 | 国产综合小视频 | 你操综合 | 国产美女黄网站免费 | 91av在线精品 | 久久精品福利视频 | 国产一区视频免费在线观看 | 在线免费观看视频一区 | 亚洲深夜影院 | 国产一级二级三级在线观看 | 久久精品牌麻豆国产大山 | 91精品国产乱码在线观看 | 免费在线中文字幕 | 91福利视频网站 | 中文字幕在线观看国产 | 中文字幕视频免费观看 | 97国产一区二区 | 国产精品一区二区在线观看 | 欧美日韩国产精品一区二区 | 日韩av中文在线观看 | 在线国产欧美 | 久久久久久久久网站 | 97精品一区 | 欧美精品在线观看一区 | 色婷婷综合久色 | 久久999久久| 五月激情亚洲 | 免费观看91视频大全 | 国产精品都在这里 | 色视频网址 | 91亚洲精品国偷拍 | 91爱爱视频 | 日韩美在线 | 久久伊人爱 | 久久久久久久久久久黄色 | 亚州精品视频 | 久久久蜜桃 | 久久精品79国产精品 | 国产区免费在线 | 一区二区中文字幕在线 | 99热高清 | 国内精品久久久久久久97牛牛 | 日本在线中文在线 | 91精品免费视频 | 久久精品高清视频 | 国产精品毛片一区视频播 | 国产精品你懂的在线观看 | 天天干,天天射,天天操,天天摸 | 99免费精品 | 国产免费三级在线观看 | 国产精品视频免费在线观看 | 国产日韩精品一区二区在线观看播放 | 三级黄色大片在线观看 | 亚洲日本三级 | 亚洲天堂视频在线 | 国产欧美精品xxxx另类 | 少妇啪啪av入口 | 三级黄色免费 | 婷婷精品国产一区二区三区日韩 | 久久免费国产 | 亚洲视频电影在线 | 亚洲日韩中文字幕在线播放 | 中文字幕第一页av | 视频一区二区三区视频 | 中文字幕色在线 | 久久激情视频网 | 亚洲精品乱码久久 | 国产成人黄色网址 | 最新av免费在线观看 | 99亚洲精品 | 亚洲人成人在线 | 婷婷六月天在线 | 六月丁香色婷婷 | 亚洲开心色 | 激情五月在线 | 天天干夜夜操视频 | 日韩大片免费观看 | 中文字幕av在线不卡 | 日本在线观看黄色 | 免费看黄的 | www免费网站在线观看 | 欧美韩日在线 | 色综合久久久久综合体桃花网 | 欧美二区三区91 | 精品国产一区二区三区男人吃奶 | 天天操狠狠操网站 | 欧美日韩啪啪 | 亚洲精品视频网址 | 手机成人av | 午夜色婷婷 | 日韩免费| 四虎影视精品成人 | 国产午夜免费视频 | 成人av av在线 | av+在线播放在线播放 | 免费在线观看中文字幕 | 欧美在一区| 玖玖视频免费在线 | 国产中文| 玖玖精品在线 | 天天操人 | 国产一级黄大片 | 欧美一级电影片 | 五月亚洲婷婷 | 国产一区免费观看 | 91九色视频观看 | 91大神精品视频在线观看 | 正在播放一区 | 中文字幕中文字幕在线中文字幕三区 | 最新超碰在线 | 97超碰资源 | 在线播放一区 | 亚洲欧洲国产日韩精品 | 九九久久久久久久久激情 | www.com在线观看| 国产亚洲成av片在线观看 | 亚洲国产影院av久久久久 | 狠狠色狠狠色合久久伊人 | 免费视频成人 | 国产高清在线一区 | 免费福利片2019潦草影视午夜 | 国产又黄又硬又爽 | 久久免费视频这里只有精品 | 国产精品二区三区 | 在线免费观看黄色小说 | 欧美在线视频精品 | 国产91亚洲精品 | 日韩电影中文字幕在线观看 | 天天干天天摸天天操 | 日日干影院 | 国产精品免费视频久久久 | 日韩乱码在线 | 日本中文字幕电影在线免费观看 | 91在线精品一区二区 | 亚洲欧美日韩国产一区二区 | 伊人va | 亚洲成人av电影在线 | 国产三级午夜理伦三级 | 欧美久久久久 | 99爱在线| 色片网站在线观看 | 91九色porn在线资源 | 激情动态 | 九九久久视频 | 日本性xxxxx 亚洲精品午夜久久久 | 日本在线观看一区二区三区 | 美女在线观看网站 | 国产亚洲精品成人av久久影院 | 亚洲欧美国产精品久久久久 | 欧美日韩一区二区在线观看 | 亚洲综合在线五月 | 久久精品这里精品 | 久久精选视频 | 成年人视频在线免费 | 五月的婷婷 | 国内揄拍国内精品 | 亚洲波多野结衣 | 91插插插免费视频 | 国产小视频91 | 精品美女在线观看 | 日韩电影在线视频 | 国产黄色av影视 | 久草综合在线 | 婷婷播播网 | av电影久久 | 久久视频精品 | 国产日韩精品一区二区在线观看播放 | 婷婷国产v亚洲v欧美久久 | 国产精品2区 | 一区二区三区在线观看中文字幕 | 日韩网| 2023国产精品自产拍在线观看 | 色视频网站免费观看 | 97人人超| 久久免费公开视频 | 91视频在线看| 久久99视频免费 | 欧美一级片免费 | 中文字幕在线观看资源 | 97在线资源 | 国内精品久久久久影院日本资源 | 国产成人精品一区二区三区福利 | 日韩高清不卡在线 | 欧美作爱视频 | 在线免费观看黄色小说 | 国产一级免费在线 | 五月天国产 | 九九九免费视频 | 日韩三级在线观看 | 午夜国产福利在线观看 | 久草精品电影 | 欧美日韩精品免费观看 | 国产亚洲欧美日韩高清 | 99久久夜色精品国产亚洲 | 欧美 日韩 国产 中文字幕 | 视频在线观看一区 | 人人模人人爽 | 久久不射影院 | 日韩在线电影一区 | 欧美精品乱码99久久影院 | 中文一区在线观看 | 精品人妖videos欧美人妖 | 国产午夜一区二区 | 久草视频在 | a级免费观看 | 国产精品一区二区果冻传媒 | 日韩免费中文字幕 | 在线看一区 | av免费高清观看 | 日日综合 | 中文字幕欲求不满 | 中文字幕视频网站 | 亚洲日本欧美在线 | 国产一区二区不卡在线 | 中文字幕a∨在线乱码免费看 | 日韩av三区 | 97人人澡人人添人人爽超碰 | 欧洲视频一区 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 亚洲女裸体 | 五月天国产 | 亚洲国产精品一区二区久久hs | 中文字幕电影在线 | 国产福利电影网址 | www五月天com| 草草草影院| 日日婷婷夜日日天干 | 美女网站视频一区 | 毛片黄色一级 | 久久色在线观看 | 午夜久久福利视频 | 亚洲精品国产精品乱码在线观看 | 四虎成人精品永久免费av | 色爱区综合激月婷婷 | 欧美国产不卡 | 婷婷 综合 色 | 日日爽日日操 | 日韩a在线播放 | 欧美成人黄色片 | 久热久草| 久草视频在线免费播放 | 婷婷国产v亚洲v欧美久久 | av免费电影在线观看 | 亚洲闷骚少妇在线观看网站 | 亚洲另类xxxx | 成人资源在线播放 | 91免费版成人 | 中文字幕有码在线播放 | 在线免费看黄色 | 亚洲一二三在线 | 4438全国亚洲精品在线观看视频 | 日韩国产欧美在线播放 | 成人免费亚洲 | 91av资源在线 | 精品国产欧美一区二区三区不卡 | 国产一区二区视频在线播放 | 亚洲乱码精品 | 男女全黄一级一级高潮免费看 | 亚洲国产无 | 午夜丁香网 | 国产成人a亚洲精品v | 久久99操| 中文字幕91视频 | 久久av在线 | 亚州精品在线视频 | 在线中文字幕视频 | 狠狠干婷婷色 | 91精品免费看 | 97视频在线观看视频免费视频 | 国产高清在线免费视频 | 久久激情视频免费观看 | 香蕉视频亚洲 | 国产999精品久久久久久绿帽 | 六月天色婷婷 | 国产精品一区二 | 西西4444www大胆无视频 | 久久人人精 | 天天摸天天操天天舔 | 天天干夜夜爽 | 欧美一级片在线观看视频 | 正在播放五月婷婷狠狠干 | 午夜精品一区二区国产 | 中文字幕中文字幕在线一区 | 久久人视频 | 国产亚洲va综合人人澡精品 | 亚洲天堂网视频 | 欧美尹人 | 欧美日韩久久久 | 久久久久久久久精 | 国产99久久久国产精品成人免费 | 久久精品中文字幕少妇 | 亚洲午夜小视频 | 99精品视频在线观看视频 | 国产日韩在线观看一区 | 日日爱网站 | 成人播放器 | www.xxxx欧美 | 午夜视频在线观看一区二区 | 国产99久久精品一区二区300 | av专区在线 | 中文字幕在线观看不卡 | 中文国产在线观看 | 欧美日韩精品区 | 最新日韩视频 | 91手机视频在线 | 中文字幕在线一区二区三区 | 中文字幕人成人 | 伊人天天干| 亚洲无线视频 | 91久久精品一区二区二区 | 日韩不卡高清 | 毛片一二区 | 天天av天天 | 欧美色综合天天久久综合精品 | 欧美日韩中文国产 | 黄色亚洲大片免费在线观看 | 国产精品永久久久久久久久久 | 国产在线一区二区三区播放 | 国产黄色片免费 | 久久久久免费电影 | 国产福利在线不卡 | 日韩成人邪恶影片 | 成人h在线播放 | 国产精品永久久久久久久www | 亚洲一级影院 | 国产福利一区在线观看 | 亚洲精品videossex少妇 | 五月天婷婷在线观看视频 | 四虎影视成人精品 | 亚洲黄色免费观看 | 免费看一级片 | 成人资源在线 | 国产精品丝袜久久久久久久不卡 | 亚洲另类视频在线观看 | 亚洲精品在线观看不卡 | 亚洲国产网站 | 亚州精品视频 | 中文av在线天堂 | 天天操天天爽天天干 | 日韩精品中文字幕一区二区 | 成人一级 | 日本公妇在线观看 | 色五月色开心色婷婷色丁香 | 在线视频观看亚洲 | 久久一区二区三区国产精品 | 国产激情免费 | 五月婷婷在线视频观看 | 欧美精品久久久久久久久久 | 成人免费视频免费观看 | 亚洲乱码国产乱码精品天美传媒 | 成人影音在线 | 国产精品午夜久久 | 中文字幕成人av | 成人中文字幕+乱码+中文字幕 | 911在线| 99久久99久久精品免费 | www黄免费| 国产精品第7页 | 国产精彩视频一区 | 黄色免费网站下载 | 日韩午夜一级片 | 97超碰人人网 | www.天天操 | 久久久资源 | 久久国产欧美日韩精品 | 免费开视频 | 国产在线a| 9999精品| 日日干激情五月 | 婷婷色婷婷 | www黄色com| 99精品久久久久久久 | 日韩专区在线播放 | 人人爽夜夜爽 | 久久久久久国产一区二区三区 | 在线观看中文字幕视频 | 欧美激情综合五月色丁香 | 精品电影一区 | 成人免费观看a | 天天在线免费视频 | 成人久久亚洲 | 人人爽人人爽人人爽 | 久久五月婷婷丁香社区 | 欧美大香线蕉线伊人久久 | 手机在线中文字幕 | 黄污视频大全 | 婷婷久月| 日韩高清精品免费观看 | 黄污网站在线 | 久久9999久久免费精品国产 | 一区二区三区精品久久久 | 手机av资源 | 久久激情五月婷婷 | 天天射天天干天天操 | 久久国产午夜精品理论片最新版本 | 色天天综合网 | 久久tv视频 | 午夜天天操 | 亚洲小视频在线观看 | 天天曰天天射 | 热久久免费视频精品 | 欧美怡红院视频 | 中文av在线免费观看 | 狠狠干狠狠插 | 色资源网在线观看 | 国产亚洲人成网站在线观看 | 91最新视频 | 91爱爱视频 | 久久综合九色九九 | 国产精品毛片一区视频 | 欧美激情视频在线免费观看 | 免费在线观看av的网站 | 色99中文字幕 | 亚洲h在线播放在线观看h | 久草精品在线播放 | 国产成人一区二区三区免费看 | 91精品一 | 日韩电影久久久 | 欧美精品乱码99久久影院 | 黄色网大全 | 国产亚洲aⅴaaaaaa毛片 | 久草在线免费资源站 | 91丨精品丨蝌蚪丨白丝jk | 精品国产色 | 毛片二区| 亚洲涩涩涩涩涩涩 | 日韩欧美在线一区二区 | 色网站在线 | 国产色 在线| 午夜精品久久久久久久99无限制 | 99 视频 高清 | 一级免费看 | 999久久a精品合区久久久 | 国产精品久久久久久久久久了 | 国产午夜在线 | 黄色在线免费观看网站 | 天操夜夜操 | 久久精品久久99精品久久 | 最近中文字幕国语免费高清6 | 免费涩涩网站 | 激情综合网天天干 | 高清不卡一区二区在线 | 国产成人精品在线播放 | 99精品国产一区二区 | 伊人春色电影网 | 精品国产一区二区三区久久影院 | 免费大片av | 深爱开心激情网 | 91天堂在线观看 | 婷婷综合久久 | 婷婷视频在线播放 | 天天操天天爱天天爽 | 一级免费片 | 久久久久久久久影院 | 成人h电影 | 欧美日韩伦理一区 | 波多野结衣在线观看视频 | 亚洲精品综合一二三区在线观看 | 九九久久精品视频 | 91大神电影 | 亚洲一级黄色大片 | 免费观看的黄色片 | 在线观看你懂的网站 | 欧美久草网 | 欧美一级艳片视频免费观看 | 91在线一区二区 | 国产精品免费久久久久久 | 亚洲视频久久久久 | 久久精品国产免费看久久精品 | 免费91麻豆精品国产自产在线观看 | 午夜精品久久久久久久99婷婷 | japanese黑人亚洲人4k | 中文字幕一区二区三区乱码在线 | 最新国产精品久久精品 | 人人爱人人射 | 国产一区av在线 | 99久久精品国产免费看不卡 | 91在线网址| 亚洲精品国内 | 日韩精品一区二区三区在线播放 | 日韩三区在线观看 | 天天操夜操 | 蜜臀av一区二区 | www.亚洲在线| 中文字幕资源在线观看 | 日韩有码第一页 | 干干夜夜 | 久久精品久久综合 | 精品日韩在线一区 | 人人插人人澡 | 国产精品18久久久久久久网站 | 精品国产伦一区二区三区观看方式 | 99精品在线免费在线观看 | 婷婷av综合 | 日本精油按摩3 | 日本中文字幕在线观看 | 色网站在线看 | 天天艹日日干 | 国产亚洲情侣一区二区无 | 欧美国产大片 | 日韩一区二区三区免费电影 | 欧美一级乱黄 | 又色又爽又黄高潮的免费视频 | 免费网站观看www在线观看 | 国产免费又粗又猛又爽 | 欧美一区中文字幕 | 午夜视频免费播放 | 在线免费黄色毛片 | 婷婷五综合 | 91亚洲综合 | 久久伦理网 | 国产精品激情偷乱一区二区∴ | 亚洲少妇激情 | 亚洲成av人片在线观看无 | 97精品超碰一区二区三区 | 91丨九色丨高潮 | 久久精品国产久精国产 | 国产69精品久久99不卡的观看体验 | 成人污视频在线观看 | 蜜臀久久99精品久久久酒店新书 | 久久综合国产伦精品免费 | 久久综合五月婷婷 | 国产91成人在在线播放 | 在线观看国产日韩欧美 | 国产美女无遮挡永久免费 | 激情视频免费观看 | 日韩午夜大片 | 国产亚洲综合在线 | 成人免费网站在线观看 | 国产小视频在线看 | 99在线视频播放 | 色福利网站 | 国产精品系列在线观看 | 狠狠操综合网 | 国产精品视频 | 亚洲欧美国产日韩在线观看 | 久久精品www人人爽人人 | 在线观看日韩精品 | 国产成人免费高清 | 亚洲欧美精品一区 | 日日干干 | 区一区二区三在线观看 | 欧美韩国日本在线观看 | 麻豆一区二区三区视频 | 亚洲丝袜中文 | 私人av | 欧美在线观看视频一区二区三区 | 日日夜夜精品免费 | 久久久久久毛片精品免费不卡 | 人人澡视频 | 在线免费高清一区二区三区 | 亚洲一二三在线 | 天天综合区 | 国产精品久久久久久久久久东京 | 91九色网站 | 欧美aaa视频 | 亚洲精品午夜视频 | 天天综合亚洲 | v片在线看 | 亚洲一级免费电影 | 久久精品亚洲精品国产欧美 | 国产精品视频最多的网站 | 成人a级网站 | 成人国产一区 | 国产不卡一 | 久久男人免费视频 | 成人小视频在线观看免费 | av片在线观看 | 天天干天天在线 | www.色午夜,com| 亚洲午夜精品久久久久久久久久久久 | 久久综合久久综合这里只有精品 | 国产激情小视频在线观看 | 午夜精品视频免费在线观看 | 91精品国产91久久久久 | 毛片一区二区 | 99精品视频免费 | 青青河边草免费观看完整版高清 | 美女视频免费精品 | 成人黄色中文字幕 | 99热99 | 人人超碰免费 | 成人免费看片98欧美 | 久久免费视频在线观看6 | 国产精品免费看久久久8精臀av | 亚洲精品一区二区三区四区高清 | 午夜资源站 | 五月婷婷亚洲 | 色婷婷激情 | 日韩欧美黄色网址 | 国产精品12345| 欧美男同视频网站 | 成人久久国产 | 在线观看涩涩 | 亚洲免费av在线播放 | www.色婷婷 | 成年人黄色免费视频 | 国内精品久久久久久中文字幕 | 亚洲综合少妇 | 91精品啪| 精品一二区 | 久久精品视频4 | 国产高清视频网 | 日韩激情第一页 | 国产精品久久久久久久久久尿 | 久久影院中文字幕 | 国产精品岛国久久久久久久久红粉 | 欧美国产一区在线 | 91麻豆产精品久久久久久 | 中文字幕一区二区三区乱码不卡 | 黄色福利视频网站 | 天天射天天干天天爽 | 日本黄色免费电影网站 | 国产精品成人久久久 | 亚洲一区美女视频在线观看免费 | 欧美福利网址 | 成人久久久久久久久久 | 91福利国产在线观看 | 亚洲精品在线资源 | 黄色片免费电影 | www.黄色 | 亚洲午夜精品一区二区三区电影院 | 肉色欧美久久久久久久免费看 | 亚洲国内精品 | av免费电影在线观看 | 麻豆网站免费观看 | 久久草网站 | 久久精品欧美 | 91香蕉视频污在线 | 正在播放国产一区二区 | 日本中文字幕在线播放 | 麻豆国产露脸在线观看 | 天天干,天天射,天天操,天天摸 | 欧美一区二区三区在线播放 | 91中文在线视频 | 一区在线播放 | 日韩中文字幕国产 | 激情欧美丁香 | 丁香六月欧美 | www.69xx| 亚洲永久av | ,午夜性刺激免费看视频 | 国产又粗又硬又长又爽的视频 | 一级片免费观看视频 | 久久 在线| 69国产精品视频免费观看 | 亚洲精品视频免费在线 | 国产特级毛片aaaaaaa高清 | 最新在线你懂的 | 久久久久亚洲精品成人网小说 | 日韩中文字幕国产精品 | 亚洲美女精品视频 | 成人黄色大片在线免费观看 | 欧美日韩久久一区 | 亚洲精品国产成人av在线 | 亚洲精品xxxx | 欧美精品乱码久久久久 | 色永久免费视频 | 综合久久久| 玖玖在线播放 | 免费一级特黄录像 | 亚洲做受高潮欧美裸体 | 91久久黄色 | 色在线最新 | 麻豆国产露脸在线观看 | 久草在线免费在线观看 | 日韩精品中文字幕在线播放 | 伊人婷婷色 | 91视频免费看| 日韩在线观看三区 | 国产日产欧美在线观看 | 亚洲精选在线观看 | 中文理论片 | 国产精品不卡在线 | 久久久片 | 91探花在线 | 日韩视频一区二区 | 欧美精彩视频 | 精品国产一区二区三区久久久蜜月 | 久久99精品久久久久久三级 | 亚洲网站在线 | 欧美激情视频免费看 | 在线观看a视频 | 91亚洲激情 | 99久久精品电影 | 国产又粗又猛又黄 | www.狠狠操.com | 亚洲激情国产精品 | 97在线看 | 婷婷丁香狠狠爱 | 亚洲精品高清在线观看 | 亚洲最大在线视频 | 亚洲成人蜜桃 | 欧美国产一区在线 | 国产一区二区中文字幕 | 色欧美88888久久久久久影院 | 色综合亚洲精品激情狠狠 | 在线看国产精品 | 香蕉视频导航 | 天堂av色婷婷一区二区三区 | 免费的黄色的网站 | 97狠狠干| 天天色天天综合网 | 黄色电影在线免费观看 | 狂野欧美激情性xxxx | 久久电影国产免费久久电影 | 五月婷婷中文网 | 99精品视频免费看 | 免费av片在线 | 久久在线电影 | 国产九九在线 | 久久综合色8888 | 日本在线视频网址 | 久久精品aaa | 日日操日日 | 免费91在线观看 | 亚洲高清国产视频 | 视频精品一区二区三区 | 久久香蕉一区 | 91精品国产乱码久久 | 色在线亚洲 | 超碰人人乐 | 欧美亚洲一级片 | 中文av网站| 国产精品欧美精品 | 亚洲永久国产精品 | 福利片免费看 | 色噜噜狠狠狠狠色综合 | 国产日韩欧美网站 | 玖玖在线视频观看 | 欧美伊人网 | 在线观看日韩av | 亚洲精品资源 | 国产一级黄色免费看 | 欧美日韩在线观看不卡 | 成人一区二区在线观看 | 精品伊人久久久 | 欧美 国产 视频 | 粉嫩高清一区二区三区 | 国产3p视频 | 蜜臀av网址 | 99看视频在线观看 | 婷婷丁香导航 | caobi视频 | 色吊丝在线永久观看最新版本 | 国产精品久久久久久高潮 | 美女国产精品 | 九色精品免费永久在线 | 菠萝菠萝蜜在线播放 | 亚洲精品在线一区二区三区 | 国产在线精品一区二区 | 91精品国产九九九久久久亚洲 | 99精品视频一区二区 | 91av99| 日韩在线观看你懂的 | 国产精品久久久久久久久婷婷 | 日韩高清在线一区二区三区 | 中文字幕在线人 | 国产精品97| av在线电影免费观看 | av免费在线播放 | 久草在线久草在线2 | 青青啪 | 日韩有色 | 欧美精品免费在线观看 | 九九精品视频在线观看 | 成人免费 在线播放 | 亚洲欧美成人在线 | 久久伦理| 亚洲视频一级 | 狠狠色丁香久久婷婷综合_中 | 伊人天天干 | 在线观看911视频 | www.天天射| 亚州免费视频 | 麻豆91视频 | 亚洲另类久久 | 人人爽人人香蕉 | 久久中文字幕导航 | 久久玖| 91网站观看 | 色播亚洲婷婷 | 国产婷婷久久 | 香蕉视频在线视频 | 欧美日韩在线第一页 | 久久成| 久久r精品| 国内揄拍国内精品 | 深爱婷婷激情 | 成人av观看 | 国产一区二区久久久 | 天天操天天操天天操天天操天天操天天操 | 免费观看一区二区三区视频 | 97福利社 | 草久在线视频 | 中文字幕亚洲国产 | 91亚洲在线观看 | 91精品国产自产91精品 | 国产成人精品一二三区 | 久久av电影| 最近中文字幕大全 | 久草9视频 | 久久久久免费电影 | 天天爽综合网 | 国产v视频 | 国产一区二区三区在线 | 久久国产精品精品国产色婷婷 | 中文字幕国产精品 | 超碰人人乐 | 国产精品18p| 五月开心激情网 | 天天碰天天操 | 欧美91在线 | 久久久久久久久精 | 国产日韩精品一区二区 | 2023av在线| 日韩sese | 黄色com | 色播五月激情五月 | 久草观看 | 亚洲一区二区三区91 | 欧美黄色高清 | 2021国产在线视频 | 奇米影视8888在线观看大全免费 | 国产精品露脸在线 | 欧美另类sm图片 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 免费在线观看av网站 | 天天干天天搞天天射 | 亚洲视频www| 久久区二区| 欧美精品二| av观看免费在线 | 亚洲不卡在线 | 色婷婷www | 亚洲精品资源在线观看 | av中文字幕亚洲 | 天堂av在线中文在线 | 色五丁香 | 免费视频91 | 亚洲另类视频在线 | 欧美aa在线 | 国产三级午夜理伦三级 | 亚洲精品久久久久58 | 深爱激情久久 | 91看片看淫黄大片 | 国产精品涩涩屋www在线观看 | 色噜噜日韩精品一区二区三区视频 | 久久国产影视 | 久久精品直播 | 五月天视频网 | 亚洲电影第一页av | www.久久色.com | 国产精品久久99综合免费观看尤物 | 天天操夜夜操天天射 | 午夜影院一级片 | 免费网站污 | 欧美日韩国产一区 | 欧美性极品xxxx做受 | 婷婷色中文网 | 成人午夜剧场在线观看 | 国产在线高清精品 | 久久婷婷综合激情 | 成人免费视频视频在线观看 免费 | 久免费视频| 国产最新91 | 精品久久久久久综合 | 日韩欧美高清在线 | 女女av在线 | 99精品国自产在线 | 91在线入口 | 久久国产精品一区二区 | 久久99精品久久久久久清纯直播 | 色婷婷啪啪免费在线电影观看 | www天天干 | 波多野结衣视频在线 | 欧美大片第1页 | 久久黄色精品视频 | 亚洲日韩精品欧美一区二区 | 精品美女久久久久 | 在线天堂8√ | 特级西西www44高清大胆图片 | 国产不卡av在线 | 成人久久久久 | 精品视频 | 亚洲精品视频免费在线观看 | 亚洲成人在线免费 | 久久视频 | 亚洲激情六月 | 日韩午夜电影 | 亚洲日韩精品欧美一区二区 | 国产中文欧美日韩在线 | 日韩在线免费不卡 | 爱爱av网站| 久色伊人| 日韩欧美视频在线播放 | 三级黄色大片在线观看 | 在线小视频国产 | 日韩专区中文字幕 | 99久久婷婷国产综合亚洲 | 成人精品久久久 | 中文字幕日本在线观看 | 免费色网站| 国产视频不卡 | 久久久99国产精品免费 | 亚洲精品国产电影 | 婷婷中文字幕在线观看 | 美女精品久久久 | 丁香av| 午夜精品久久久久久久久久久久 | 免费a网 | 中文字幕在线观看完整 | 日韩精品一区二区三区免费视频观看 | 亚洲国产精品女人久久久 | 韩日在线一区 | 亚洲精品视频免费观看 | 狠狠干电影| 热九九精品 | 日韩视频一区二区三区在线播放免费观看 | www.人人干| 色综合久久88 | 国产精品久久久久久久妇 | 波多野结衣在线观看一区 | 国产精品精品国产色婷婷 |