99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

GitHub CLI 的 Codespaces gRPC 協(xié)議緩沖區(qū)生成指南:從 .proto 契約到可測試客戶端

GitHub CLI 的 Codespaces gRPC 協(xié)議緩沖區(qū)生成指南:從 .proto 契約到可測試客戶端 GitHub CLI 的 Codespaces gRPC 協(xié)議緩沖區(qū)生成指南從 .proto 契約到可測試客戶端【免費(fèi)下載鏈接】cliGitHub’s official command line tool項(xiàng)目地址: https://gitcode.com/GitHub_Trending/cli/cli本文圍繞倉庫中的 internal/codespaces/rpc/generate.md 展開完整講解 GitHub CLIghCodespaces 模塊中 gRPC 協(xié)議緩沖區(qū)的生成與新增流程安裝protoc工具鏈與moq、運(yùn)行 generate.sh 生成 Go 代碼與 mock 的每一步以及如何為一個新服務(wù)添加.proto契約。讀完本文后你將能夠復(fù)現(xiàn)該模塊的代碼生成全流程理解生成產(chǎn)物*.pb.go、*_grpc.pb.go、*.mock.go如何被 invoker.go 的 RPC 客戶端與測試用例消費(fèi)并掌握新增協(xié)議時的檢查清單。背景gh 為什么需要一套本地 gRPC 客戶端gh codespace系列命令gh codespace ssh、gh codespace jupyter、gh codespace logs、gh codespace rebuild等在操作 Codespace 時除了調(diào)用 GitHub REST/GraphQL API 之外還需要與運(yùn)行在 Codespace 容器內(nèi)部的 RPC 服務(wù)通信例如啟動 JupyterLab、啟動 SSH 服務(wù)器、重建容器。這套通信基于 gRPC。從 internal/codespaces/rpc/invoker.go 的常量定義可以看到關(guān)鍵事實(shí)容器內(nèi)部的 RPC 服務(wù)固定監(jiān)聽端口codespacesInternalPort 16634客戶端以clientName gh的身份上報connected、keepAlive等客戶端活動事件連接建立時帶有ConnectionTimeout 5s單次請求帶有requestTimeout 30s的超時控制。調(diào)用關(guān)系上各命令入口都通過rpc.CreateInvoker(ctx, fwd)創(chuàng)建 Invoker見 states.go、pkg/cmd/codespace/jupyter.go、pkg/cmd/codespace/rebuild.go、pkg/cmd/codespace/ssh.go再借助 portforwarder 把遠(yuǎn)端 16634 端口隧道到本地臨時端口由grpc.NewClient連接本地監(jiān)聽地址完成調(diào)用invoker.go 的connect函數(shù)。而 Invoker 所依賴的三個 gRPC 客戶端接口全部來自下面要講的協(xié)議緩沖區(qū)生成流程的產(chǎn)物。目錄結(jié)構(gòu)與生成產(chǎn)物internal/codespaces/rpc目錄下按服務(wù)分目錄組織每個服務(wù)對應(yīng)一份.proto契約與三個生成文件internal/codespaces/rpc/ ├── generate.md # 生成流程文檔 ├── generate.sh # 一鍵生成腳本 ├── invoker.go # gRPC 客戶端實(shí)現(xiàn)消費(fèi)生成代碼 ├── invoker_test.go # 使用 mock 的單元測試 ├── codespace/ │ ├── codespace_host_service.v1.proto │ ├── codespace_host_service.v1.pb.go # protoc-gen-go 生成 │ ├── codespace_host_service.v1_grpc.pb.go # protoc-gen-go-grpc 生成 │ └── codespace_host_service.v1.proto.mock.go # moq 生成 ├── jupyter/ │ ├── jupyter_server_host_service.v1.proto │ ├── jupyter_server_host_service.v1.pb.go │ ├── jupyter_server_host_service.v1_grpc.pb.go │ └── jupyter_server_host_service.v1.proto.mock.go ├── ssh/ │ ├── ssh_server_host_service.v1.proto │ ├── ssh_server_host_service.v1.pb.go │ ├── ssh_server_host_service.v1_grpc.pb.go │ └── ssh_server_host_service.v1.proto.mock.go └── test/ └── port_forwarder.go # 測試用 PortForwarder 實(shí)現(xiàn)當(dāng)前倉庫中定義了三份服務(wù)契約目錄服務(wù)名RPC 方法用途codespace/CodespaceHostNotifyCodespaceOfClientActivity、RebuildContainerAsync上報客戶端活動心跳、重建容器jupyter/JupyterServerHostGetRunningServer啟動/獲取 JupyterLab 服務(wù)器返回端口與 URLssh/SshServerHostStartRemoteServerAsync啟動遠(yuǎn)端 SSH 服務(wù)器返回端口、用戶與消息以 codespace_host_service.v1.proto 為例契約結(jié)構(gòu)非常緊湊syntax proto3; option go_package ./codespace; package Codespaces.Grpc.CodespaceHostService.v1; service CodespaceHost { rpc NotifyCodespaceOfClientActivity (NotifyCodespaceOfClientActivityRequest) returns (NotifyCodespaceOfClientActivityResponse); rpc RebuildContainerAsync (RebuildContainerRequest) returns (RebuildContainerResponse); } message NotifyCodespaceOfClientActivityRequest { string ClientId 1; repeated string ClientActivities 2; } message NotifyCodespaceOfClientActivityResponse { bool Result 1; string Message 2; } message RebuildContainerRequest { optional bool Incremental 1; // proto3 optional 字段 } message RebuildContainerResponse { bool RebuildContainer 1; }注意RebuildContainerRequest中使用了 proto3 的optional字段對應(yīng)生成客戶端里的*bool指針字段見下文 invoker 的用法。這正是生成腳本需要--experimental_allow_proto3_optional參數(shù)的原因。生成協(xié)議緩沖區(qū)完整步驟這部分完整繼承自 generate.md并按倉庫實(shí)際情況補(bǔ)充了細(xì)節(jié)安裝protoc編譯器Google Protocol Buffers 編譯器安裝方式參考 gRPC 官方安裝文檔安裝 Go 的協(xié)議編譯器插件protoc-gen-go與protoc-gen-go-grpc兩個go install插件即可安裝 mock 生成器go install github.com/matryer/moqlatest進(jìn)入internal/codespaces/rpc目錄運(yùn)行./generate.sh。腳本會先做工具鏈自檢依次執(zhí)行protoc --version、protoc-gen-go --version、protoc-gen-go-grpc --version缺失protoc或protoc-gen-go時直接報錯退出generate.sh。generate.sh的核心邏輯是一個generate函數(shù)對三個契約分別執(zhí)行g(shù)enerate.shfunction generate { local dir$1 local proto$2 local contract$dir/$proto protoc --go_out. --go_optpathssource_relative --go-grpc_out. --go-grpc_optpathssource_relative $contract --experimental_allow_proto3_optional echo Generated protocol buffers for $contract services$(grep -Eo service . { $contract | awk {print $2 Server}) moq -out $contract.mock.go $dir $services echo Generated mock protocols for $contract } generate jupyter jupyter_server_host_service.v1.proto generate codespace codespace_host_service.v1.proto generate ssh ssh_server_host_service.v1.proto逐行解讀這三個參數(shù)與兩步生成--go_out. --go_optpathssource_relative由protoc-gen-go生成消息類型*.pb.go輸出到當(dāng)前目錄且生成路徑跟隨源文件相對路徑——所以產(chǎn)物落在codespace/、jupyter/、ssh/各自目錄下而不是平鋪在根目錄--go-grpc_out. --go-grpc_optpathssource_relative由protoc-gen-go-grpc生成 gRPC 客戶端/服務(wù)端存根*_grpc.pb.go同樣按源文件相對路徑落位--experimental_allow_proto3_optional允許 proto3 的optional字段RebuildContainerRequest.Incremental就依賴它grep -Eo service . {從契約中提取service名如CodespaceHostawk {print $2 Server}拼接成接口名CodespaceHostServer再交給moq生成該接口的 mock 實(shí)現(xiàn)文件moq -out $contract.mock.go $dir $services。生成后的文件頭部會標(biāo)注生成工具與版本例如 codespace_host_service.v1_grpc.pb.go 開頭注明由protoc-gen-go-grpc v1.2.0/protoc v3.12.4生成codespace_host_service.v1.proto.mock.go 開頭注明由moq生成——這些都是// DO NOT EDIT的產(chǎn)物手工修改會在下次./generate.sh運(yùn)行時被覆蓋。生成代碼如何被消費(fèi)Invoker 調(diào)用鏈生成的三個 gRPC 客戶端接口在 invoker.go 中被組裝進(jìn)Invoker接口type Invoker interface { Close() error StartJupyterServer(ctx context.Context) (int, string, error) RebuildContainer(ctx context.Context, full bool) error StartSSHServer(ctx context.Context) (int, string, error) StartSSHServerWithOptions(ctx context.Context, options StartSSHServerOptions) (int, string, error) KeepAlive() }CreateInvokerinvoker.go先經(jīng) portforwarder 把遠(yuǎn)端 16634 端口隧道到本地隨機(jī) TCP 端口再執(zhí)行g(shù)rpc.NewClient(localAddress, ...)建立連接然后為三個服務(wù)各創(chuàng)建一個客戶端invoker.jupyterClient jupyter.NewJupyterServerHostClient(conn) invoker.codespaceClient codespace.NewCodespaceHostClient(conn) invoker.sshClient ssh.NewSshServerHostClient(conn)隨后連接上即發(fā)送一次connected心跳并啟動每 60 秒一次的后臺心跳 goroutineinvoker.go。典型業(yè)務(wù)方法如StartSSHServerWithOptionsinvoker.go讀取用戶公鑰文件 → 調(diào)用sshClient.StartRemoteServerAsync→ 校驗(yàn)Result、解析端口、用正則校驗(yàn)返回的用戶名合法性。RebuildContainer則體現(xiàn)了 proto3optional字段的客戶端形態(tài)Incremental: incrementalinvoker.go。單元測試如何消費(fèi) moq 產(chǎn)物moq生成的*ServerMock在 invoker_test.go 中被嵌入一個mockServer結(jié)構(gòu)體三個 mock 接口聚合在一起實(shí)現(xiàn)真實(shí)的 gRPC 服務(wù)端type mockServer struct { jupyter.JupyterServerHostServerMock codespace.CodespaceHostServerMock ssh.SshServerHostServerMock }測試通過grpc.NewServer()注冊三個 mock 服務(wù)并在本地 16634 端口起真實(shí) gRPC serverinvoker_test.go配合 test/port_forwarder.go 中一個只做本地 TCP 雙向拷貝的測試用 PortForwarder讓CreateInvoker走完整的“端口轉(zhuǎn)發(fā) gRPC 連接”鏈路。例如TestStartJupyterServerSuccess通過給 mock 的GetRunningServerFunc賦值來模擬服務(wù)端響應(yīng)再斷言 Invoker 返回的端口與 URL并驗(yàn)證連接建立時發(fā)出了connected活動通知invoker_test.go。也就是說修改.proto后重新運(yùn)行 generate.shmock 文件會同步再生成測試中的字段與斷言即可繼續(xù)基于最新契約編寫。添加新的協(xié)議緩沖區(qū)generate.md 給出的新增契約流程如下這里結(jié)合現(xiàn)有三個服務(wù)目錄的實(shí)際組織方式補(bǔ)充為可執(zhí)行清單下載.proto契約從 Codespaces 側(cè)的服務(wù)倉庫獲取對應(yīng)服務(wù)的.proto文件命名遵循xxx_host_service.v1.proto慣例創(chuàng)建新目錄并拷貝契約在internal/codespaces/rpc下新建一個以服務(wù)命名的子目錄參照codespace/、jupyter/、ssh/的布局將.proto拷入其中確認(rèn).proto內(nèi)的option go_package指向該目錄如option go_package ./codespace;更新 generate.sh在腳本末尾追加一行g(shù)enerate 新目錄 新契約文件名將其納入生成列表當(dāng)前腳本末尾是三行g(shù)enerate jupyter/codespace/ssh ...調(diào)用運(yùn)行生成流程重復(fù)上文“生成協(xié)議緩沖區(qū)”的步驟確認(rèn)工具鏈在 PATH 中然后在internal/codespaces/rpc下執(zhí)行./generate.sh檢查目錄下新增了*.pb.go、*_grpc.pb.go與*.proto.mock.go三個文件接入 Invoker在 invoker.go 的invoker結(jié)構(gòu)體中新增對應(yīng)客戶端字段、在connect中初始化該客戶端、為Invoker接口補(bǔ)充對外方法補(bǔ)充測試參照 invoker_test.go 中mockServer的寫法嵌入新的*ServerMock為新方法編寫成功/失敗兩條用例運(yùn)行g(shù)o test ./internal/codespaces/rpc/...驗(yàn)證。常見注意事項(xiàng)工具鏈版本腳本只校驗(yàn)三個工具存在不鎖定版本生成文件頭注釋記錄了當(dāng)次使用的protoc-gen-go-grpc與protoc版本當(dāng)前為protoc-gen-go-grpc v1.2.0、protoc v3.12.4跨環(huán)境生成時版本差異可能產(chǎn)生格式級 diff屬正常現(xiàn)象pathssource_relative 與目錄一一對應(yīng).proto放在哪個子目錄產(chǎn)物就落在哪個子目錄這是generate.sh用--go_optpathssource_relative實(shí)現(xiàn)的約定移動契約文件位置會導(dǎo)致生成路徑變化moq 依賴 service 名mock 生成靠grep提取service xxx {聲明契約中若沒有 service 聲明純消息定義文件則不會生成 mock這類文件也不需要不要手改生成文件三個產(chǎn)物文件均標(biāo)注 DO NOT EDIT任何契約變更都應(yīng)走“改.proto→ 重跑./generate.sh”的路徑保證消息類型、gRPC 存根與 mock 三者一致。小結(jié)internal/codespaces/rpc/generate.md描述的是一條“.proto契約 → protoc/protoc-gen-go/protoc-gen-go-grpc moq → 消息類型 gRPC 存根 mock”的標(biāo)準(zhǔn)生成流水線由 generate.sh 一鍵執(zhí)行產(chǎn)物直接支撐 invoker.go 中 Jupyter 啟動、SSH 服務(wù)器啟動、容器重建與活動心跳四類 RPC并被 invoker_test.go 中基于 mock 的真實(shí) gRPC 測試鏈路驗(yàn)證。理解并復(fù)現(xiàn)這套流程就能為gh codespace的遠(yuǎn)端能力擴(kuò)展新增協(xié)議契約時做到代碼生成、客戶端接入與測試三者同步演進(jìn)?!久赓M(fèi)下載鏈接】cliGitHub’s official command line tool項(xiàng)目地址: https://gitcode.com/GitHub_Trending/cli/cli創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热精品在线播放| 黄色激情网站在线观看| 日韩精品VIP| 国产日韩av片| 色色色色色综合| 丁香五月天激情视频| 久久ab| 五月天激情图片| 成人五月天综合网| 中文字幕乱码亚洲精品一区| 五月天桃色深爱网| 婷婷六月色| 婷婷丁香五月基地| 成人精品一区二区三区四区五区 | 婷婷天天婷婷天天澡| 极品人妻VIDEOSSS人妻| 午夜爱爱爱成人| 婷婷五月丁香激情| 五月婷婷中文| 五月婷婷久久久久| 97碰啪啪| 玖玖婷婷五月天毛片| 综合五月天婷婷色| 2015超碰| 1024日韩| 五月婷色丁香| 610018岁成人视频| 99视频精品全部免费 在线| 五月婷婷av| 久久婷婷五月天蜜桃| 婷婷日在线观看| 啪啪日本欧美| 99riAV国产精品视频| 99玖玖精品| 五月丁香激情综合网| 国产97色在线 | 日韩| 久热99| 婷婷五月天成人动漫| 天天碰夜夜操| 五月天婷婷丁香导航| 日韩成人AV在线| 99∨VTV| 婷婷伊人五月天| 99热99| 疯狂做受XXXX高潮A片| 婷婷丁香激情综合色情| 中文网AV| 秋霞性爱AV| 9久久狠狠的| 少妇综合网| 五月亚洲激情| 超碰av在线| 久久婷婷五月综合色和| 99操| 丁香五月性| 久婷五月| 九九热在线精品视频| 午夜精品777| sesesesezonghe| 成人婷婷| 色八戒操婷婷| 日韩欧美成人一区二区三区| 亚洲无AV在线中文字幕| www.henhenl| 五月婷丁香| 五月丁香六月婷婷在线| 懂色AⅤ| 九九九九九九九热| 国产资源91在线| 激情丁香五月天综合| 91久久久久久| 日本色超碰| 婷婷丁香18| 牛色色碰| 2017人人操| 99热新网址| 五月色在线| 四虎婷婷五月天| 九九热在线观看视频网站| 26uuu另类亚洲欧美日本一| 99精品视频免费观看| 99在线热| 啪啪啪丁香五月| 激情99热| 五月天成人在线播放丁香| 99热这里只有精品66| 第四色大香蕉| 影音先锋日本三级资源| 婷婷九月色| 亚洲丁香五月| 九九伊人网| 五月丁香婷久久| 激情综合色| 人人看人人草人人摸| 亚洲无码色色| 91色色五月天| 婷婷亚洲五| 久久最新色色色| 色九九一二| 五月丁香啪啪综合网| 婷婷五月天激情综合婷婷五月天激情综合 | 国产精品国产| 热99精品视频观看| 97操女视频| 天天干 夜夜爽| 就去色色五月丁香婷婷久久久| 99热这里只有精品手机在线观看| 色婷婷大香蕉| 九九视频这里只有精品在线播放| 亚洲色频| 亚洲操操| 国产成人网| 色色色色色色色综合| 99天堂在线观看免费视频| 99操逼视频| 俺也去在线视频| 国产成人网| 99热9999| 这里只有精品日韩精品| 婷婷 激情 五月| 99热啪啪| 岛国在线观看91| 婷婷六月丁香欧美视频在线| 婷婷久久六月费| 婷婷丁香成人五月天| 亚洲黄色网址| 五月停停99| ..真实国产乱子伦对白在线_欧| 99日在线视频| 丁香五月性| 精品网站:999WWW| 婷婷香五月| 丁香五月综合在线观看| 色99网| 人人摸人人干人人做| av狠狠操| 97九色视频| 天天天久久人人人合| 五月天综合区| 五月婷婷丁香六月在线| 99色一| 色天天狠狠干| 伊人网色婷婷五月天| 激情综合五月.....| 欧美综合婷婷网| 五月婷婷中字在线| 思思精品久久艹| 五月天婷婷在看| 26uuuuuuuu国产| 色噜噜狠狠色综无码久久合欧美 | 狠狠爱婷婷爱| 极品另类| 香蕉久久国产AV一区二区| 婷婷激情性爱| 无码一区二区日韩| 婷婷五月丁综合| 天天草比天天爽| 色爱综合网| 亚洲色综合| 极品人妻VIDEOSSS人妻| 五月 成人 婷婷| 婷婷五月AA五月在线| 久久综合丁香激情五月| 激情六月天| 五月Huangsewang| 久久婷婷东京热| 日本三级韩三级99久久| 五月丁香婷婷激情久久| 操操人人| 婷婷伊人綜合中文字幕| 久热播这里只有精品| 综合色综合| 日日爽日日| 99操逼视频| 精品香蕉99久久久久网站| 国产在线6| 婷婷狠狠18禁久久| 一级AV片| 色宗合,宗合网| jiZZdr| 天天色综| 五月天开心网| 综合久久五月天| 99热6色| 亚洲天堂99| 丝袜熟女一区二区三区| 月婷婷亚洲| 丁香五月色五月| 影音先锋 萱萱| 色9999日韩国产| 五月婷婷啪| 国产伦亲子伦亲子视频观看| 2015好吊操| 色五月综合在线| 91男人资源站| 丁香五月婷婷av| 99人人操| 噜噜狠狠色| 国产99久久久国产精品免费看| 婷婷丁香www视频日本韩国| 五月天婷综合网站| 色色色色色综合| 婷婷色在线播放| 六月丁香婷婷五月| 综合久久六月| 天天插天天射| 五月久熟女| 婷婷久久大香蕉| 欧美久热| 亚洲精品第一色色色色色色| 五月色情婷婷| 日韩操人| AV在线观看网站| 五月天色婷婷网| 99婷婷| 操笔无码| 亚洲最大成人综合网720P| rr天天操| 久色中文| 亚洲色五月天是什么| www.97碰碰com| 午夜成人av在线| 少妇出轨做爰高潮A片| 人人妻久久妻| 九九色欲网| 亚洲综合五月天婷婷| 日本久久综合| 亚洲精品又粗又大又爽A片| 天天性视频| 狠狠综合网| 欧美性色五月天| 99热999| 超碰在线免费| 色播五月婷婷综合| 97碰碰在线观看视频| 色色色热| 夜夜躁爽日日| 怡红院精品视频久久久久久久久| 丁香五月综合激情性爱| 人人摸人人| 九九色99| 99日本视频在线观看专区| 九九99九九99九九99视频网| www.五月婷婷久久.com| 九九久久99精品免费观看www| 婷婷爱五月天| 国产婷婷综合在线免费视频| 天天爽免费视频| 色色网站在线免费观看视频| 婷婷五月天av| 操久久精| 国产人妻人伦精品一区二区| 日本一级| 色色色色丁香| 337p大胆噜噜噜噜噜91Av| 婷婷丁香五月激情中文字幕版| 丁香五月性爱爱五月| 思思热99热| 夜夜干天天操| 国产精品色婷婷AV综合色色| 六月婷婷在线视频| 玖玖热视频| 婷五月天在线草| 亚洲成人AV在线播放| 中文字幕中文有码在线| 色99在线| 99操碰| 五月天婷婷社区| xfplayav在线| 九玖欧洲亚洲| 久久久久久久久久久44| 欧美操我| 午夜丁香| 九九热这里只有精品556| 九热视频精品| 中文字幕 码精品视频网站| 99碰碰中文| 91夫妻视频| 综合网五月| 天天草天天日| 艾小青av| 欧洲色色| 黄色成人网站在线播放| 青青草国产亚洲精品久久| 成人无码精品1区2区3区免费看| 九九成人| site:pnnrt.com| 99热777| ji'qing'luan'ren'lun| 99热99这里有免费的精品| 色在线五月天免费| 激情网五月婷婷| 婷婷丁香五月综合激情小说| 午夜丁香六月婷| 天天综合五月| 亚洲成人在线免费| 亚洲欧洲中文日韩久久AV乱码| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | www.99热视频| aaaaa不卡| 香蕉婷婷色五月| 亚洲精品444久久久久久| 亚洲第二AV| 婷婷视频网| 亚洲另类婷婷五月综合| 91碰超| 色欲影香| 亚州日本欧州韩美高青高潮一| 思思精品久久艹| 亚洲色频| 欧美性生交XXXXX无码小说| 伊人大蕉香| 久久182| 99久久婷婷国产综合精品草原| 人妻性爱| 性天堂久久| www久| www.99热| 国产色网站| 婷婷五月天毛片| 丁香六月色婷婷| 丁香五月自拍| 丁香花五月天激情| 婷婷五月丁香激情图片| 五月天另类小说久久小说网| 97久久久| 69精品人妻不卡视频| 久久五月丁香婷婷| 79精品视频在线观看,| 性欧美大战久久久久久久83| 五月色情婷婷| 天天 青草 制服丝袜 在线| 99热在线观看这里只有精品| 色色色综合网| 综合激情在线视频| 79色色色色| 久久久天堂国产精品女人| 五月婷婷激情性爱| 思思热精品在线| 男人先锋久久| 亚洲女婷婷五月基地综合久久久 | 人妻肉射免费观看| 丁香六月综合激情| 久久精品无码一区| 天天婷婷操| 五月天大香蕉| 激情综合五月婷婷| 少妇性按摩无码中文A片| 婷婷五月天影院| 久热一本| 99在线观看| 色偷偷综合| www.cao.com久久| 91大屁股| 91狼友视频网页更新| 欧美欧盟性爱网| www.国产色| 一逼色综合| 五月天婷婷色| 亚洲 精品 综合 精品| 色五月综合网| 五月综合色| 色情综合| 色五月开心五月激情五月| 激情综合色| 婷婷五月丁香影院| 青青草青青草五月天| 色色五月婷婷久久| 九九热这里| 奸逼视频| 开心久久网婷婷| 色99在线观看| 欧美久热| 久久久婷婷五月天| 开心五月深爱五月| 久久久久久久久久8888| 国产偷人爽久久久久久老妇APP| 久久九精品| 亚洲成人在线综合| 不卡在线视频| 九九热婷婷| 五月天丁香婷婷网| 亚洲激情综合| 996er在线观看| 激情综合色五月丁香| 五月婷婷免费看| 久久hd| 欧美性做爰大片免费看办公室| 狠狠撸激情综合丁香五月天俺来啦| 日韩五月婷婷| 怡红院AV亚洲一区二区三区H| 玖玖资源站中文| 综合色、色综合| 亚洲五月婷婷| 性爱网六月丁香| 婷婷综合色| 激情开心五月亚洲| 婷婷和五月天| 九九九九九九毛片| 9久9久9久女女女九九九一九| 免费看成人747474九号视频在线观看| 人妻肉射免费观看| aV直接看| 成人视屏在线观看| 伊人五月丁香| 五月婷婷色播网| 日亚二欧美| 天海翼中文字幕高| www.五月天| 五月丁香香蕉| 欧美在线干| 五月婷婷开心五月| 热的国产,热的综合,热的有码| 婷婷五月天激情开心网| 青青草蜜臀| 五月婷婷丁香综合| 国产亚洲99久久| 丁香五月婷婷社区| 日本欧美成人片AAAA| 午夜69成人做爰视频| 天天干天天干天天干天天干天| 日韩1区2区| WWW·色色色·COM| 欧美婷婷色| 狠狠狠狠狠| AV在线观看网站| 五月花在线观看视频| 欧美性色五月天| 久久久久综合激动五月天| 九色综合网| 韩国中文字幕91| 日本不卡高字幕在线2019| 欧美成人精品三区综合A片| 九色婷婷| 欧美色图天堂网| 色综合丁香婷婷| 久久婷婷五月天| 色婷婷日本| site:picc-up.com| 色 五月俺去也| 99热这里精| 国产资源91在线| A久网| 99热这里有精品24| 六月综合在线| 伊人婷婷大香蕉| 97啪啪| 夜夜操狠狠操| 色99xx| 九九九热精品| 国产26uuu视频| 老司机日日夜夜青草| 99性色| 99热精在线九九久久保| 欧美色爱五月天| 99婷婷| 双性美人被调教到喷水A片| 91紱請| 加勒比久热| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 桔色成人在线| 久久精品4| 精品少妇人妻AV无码专区偷人 | 99精品网| 欧亚中文A V| 99热伊人| 五月丁香六月婷综合成人综合| 婷婷五亚洲| 色综合天天| 亚洲99在线| 可以看的av网站| 97啪啪| 激情性爱婷婷| 婷婷色五月久久| 337p大胆噜噜噜噜噜91Av| 久久人妻超碰一区| 亚洲久热| 亚洲精品亚洲人成人网| 色婷婷狠狠| www.金莲av| 色五月成人婷婷| 五月六月激情| 天天综合网站| 97成人丁香婷婷| 天天操夜夜操| 婷婷丁香五月天影院| 色婷婷五月天成人网| 99婷婷国产最新视频| 深夜婷婷 丁香| 亚洲精品乱码久久久久久综合| 国产97色在线 | 日韩| 国产操肏网站| 狠狠爱综合网| 婷婷操久久| 丁香色婷婷色手机免费在线| 99热99在线| 婷婷五月免费视频| 99色在线视频观看| 久久这里有精品在线观看| 久久久久亚洲AV综合| 激情精品久久| 五月丁香啪| 99热超碰在线| 色丁香久综合在线久综合在线观看| 亚洲五月婷| 级情九色| 91人人操人人| 色婷婷电影| 综合色天天| 亚洲妇女熟BBW| www.99色| 五月天婷婷久久| 久久机热这里只有精品免费视频| 五月丁香综合在线| 五月婷婷 六月丁香| 伊人免费视频9| 天天色天天日| 亚洲第一综合| 天天草天天爱| 日本黄色三级片内射| 秋霞影音91人妻久久| 丰满少妇猛烈A片免费看观看| 秋霞电影理论| 色婷婷成人久久| 丁香五月婷婷偷拍| 久久久久激情| 97AV在线视频| 人妻性爱| 超碰A V在线| 日日操日日撸| 欧美va亚洲va| 久超免费视频| 婷婷丁香成人网址| 黄网在线免费| 狠狠色综合网站久久久久| 伊人成综合五月婷婷| 五月天婷婷免费| 色月九九| av国产精品| 26uuu日韩| 色婷婷婷av| 色婷婷91激情小说| 五月婷婷天堂| 亚洲日韩26uuu| 99热精品中文字幕| 色播丁香婷婷五月激情| 国产精品电影网| .精品久久久麻豆国产精品| 99视频只有这里精品| 亚洲综合欧美色丁香婷婷888月图片| 操操操AV| 青青夜夜狠狠夜夜狠狠| 婷婷五月丁香激情图片| 夜夜操狠狠操| 婷婷射图| 久久婷婷操| 97碰在线免费观看| 丁香五月开心五月激情| 色综合香蕉| 婷婷色六月| 五月丁香激情婷婷| 99视频精品8| 97婷婷丁香| 亚洲av电影在线| 99综合视频| 亚洲九九99精品视频在线播放| 99热欲| 丁香五月激情婷婷| 91操片| 激情色视频| 色丁香综合影院| aaa久久| 激情玖玖综合网| 777精品久无码人妻蜜桃| 26uuu欧美日本| 激情五月综合免费| 久久欧洲久久| 五月花婷婷| 26.uuu丁香五月婷婷| 亚亚州久久高潮| AV 3P| 色五月亚洲五月天| 五月天激情网址| 亚洲99热| 久草婷妨| 69天堂99| 五月丁香婷婷激情爱爱| 色婷婷久久9.com| 丁香五月天堂婷婷| 思思热视频| 99热欧美| 五月天综合网| 91人操人人人操人| 色激情五月| 日韩操人| 激情五月综合婷婷| 亚洲黄网在线| 第四色网婷婷| 色色色色色色色色色色色色色五月天| 中文字幕在线视频播放| 90色免费视频| 丁香六月成人网| 激情五月天综合网| 女人露出p毛视频www网站| 26uuu色噜噜精品一区| 91五月天| 这里只有精品视频视频在线观看| 婷婷久久欧美| 另类图片 五月激情| 综合婷婷五月丁香在线观看| 五月丁香婷婷深深爱| 天天操电影院色狼性av| 99爱免费在线视频| 丁香婷婷伊人| 蜜臀99精品| 99这里只有精品|v| 日韩一级淫乱片一区二区三区| 久久网婷婷| 99热新网址| 97热视频| 色色婷五月天| 久久久久久久久人妻| 影音先锋91| 久99热| 五月丁香婷婷啪啪综合| 激情综合女人网五月播播| 亚洲 日韩色色| 五月天影院| 精品99在线| 久久思思热| 日韩AV在线免费观看| ss99热| 丁香五月激情五月| 亚洲AV成人在线| 国产精品激情AV久久久青桔| 日亚二欧美| 久久在线视频只有这里有精品| 丁香五月天啪啪| 高清资源站日A美A欧亚…| 日韩99视频| 久久激情综合| 婷婷激情综合| 色99欧洲色19| 国产26uuu视频| 可以看的AV| 99免费在线视频| 丁香六月婷婷综合在线| 这里只有精品视频99| 午夜成人av在线| 色狠狠五月天| 亚洲九九视频| 婷婷碰碰| 天天综合色综合| 亚洲九九视频| 综合久久综合| 九九色色| 四月婷婷五月丁香| 午夜激情综合| 啪啪色区| 婷婷丁香人妻天天久久| 成人精品在线观看| 婷婷成人网五月天| 337p大胆噜噜噜噜噜91Av| 玖玖午夜视频| 久久久婷| 丁香五月1页| 久99久精品视频| 超碰97免费在线| 常久最新免费的色吊丝| 色99久草在线| 五月综合婷婷五月| 92国产福利| 九九这里是免费的视频5| 热婷婷在线视频| www.久久av.com| 欧美大道不卡| 日本久久精品| 久久综合这里只有精品1| 丁香五月天色婷婷| 高潮毛片遮挡费高一百度| 另类A片| 婷婷五月激情网| 色色色色色色网站| www,色中色| 综合久久首页| 99热丁香| 永久思思热在线| 91久热| 天天舔天天| 伊人久久大香线蕉综合网站| 97干婷婷| 99亚洲精品视频在线观看| 日本狠狠色| 天天爽曰日爽| 婷婷情色五月天| 久久久久久久11111111111| 26uuu色噜噜精品一区| 综合激情五月天| 色婷婷视频| 六月色丁香婷婷| 日韩成人电影在线播放| 俺去也在线官网| 色综合久久88色综合天天看| AAA久久| 丁香五月天婷婷中文| 碰碰碰碰碰99| 色色婷婷五月| 亚洲超碰在线| 激情丁香九九五月综合网| 人人干AV| 亚洲 激情 中文| www,8050,午夜三级| 亚洲综合五月天婷婷丁香| 97色啪| 大香蕉丁香| AA片在线观看视频在线播放| 五月婷婷婷婷| 人人玩人人橾| 久久精品63| 亚洲色婷婷| 五月婷婷六月爱| 婷婷成人网五月天| 色婷婷丁香| 久久婷婷欧美| 婷婷国产日本欧美| 国产片天天爽夜夜爽| 91 原创 在线 九色| 少妇性BBB搡BBB爽爽爽电影| 色五月超碰| 五月天婷婷社区| 日日爽日日操| 久操人妻| 色射影院| 婷婷色在线视频| 久久艹 五月天| 日日夜夜天天| 五月丁香六月综合激情| 亚洲性爱电影| 久久久久婷婷五月热综合| 九月丁香八月婷婷久久综合久97| 国产女人十八水真多1| 婷婷欠久少妇| EEUSS鲁片一区二区三区| 婷五月天| 五月天婷婷激情综合| 热99热9| 久久丁香五月婷婷| 五月花亭亭| 婷婷五月色亚洲| 激情98色婷婷五| 亚洲激情五月天| 99久精品视频| 啪啪99| 五月婷婷六月丁香玖玖玫瑰91| 综合网啪| 激情综合色图| 色热久| 成人在线日韩| 国产精品a无线| 婷婷五月丁香第四色超碰在线| 日本99热| 伊人热在线大香蕉| 九九99热| 在线国产精品色| 天天干夜夜b| 中文字幕丁香五月| 五月丁香亚洲综合网| www.成人婷婷综合| 99热精品观看| 日韩爱操视频| 五月深爱激情网| 婷婷六月亚洲综合| 激情五月天色色| 五月婷婷电影院| 成人电影在线免费试看| 久久久精品人妻录| 久久精品99| 99免费偷拍视频| 久久婷婷五月| 色婷婷五月综合网| 好激情在线综合网| 97干婷婷| 日本操天堂| 亚洲综合成人网站| 激情久久五月天| 玖玖无码中文| 婷婷激情六月综合| 性色天| www.婷婷| 亚洲性爱AV| 九热视频在线精品15| 看婷婷五月天网| 99九九视频| 激情五月最新网址| 天搞天天天天天| 欧美色性色好| www.超碰在线| 好色婷婷| 婷婷五月丁香色情| 五月色色网| 久久久久久久久18久久| 国产免费AV网站| 国产色99| 日本色色影片| 色999亚洲人成色| 香蕉AV777XXX色综合一区| 久久ww| 日韩av变天就操逼不卡区| 99,色| 色五月天激情| 射久久丁香五月| 激情五月天婷婷视频| 色播五月婷婷| 操日本三片99| 亚洲色五月婷婷| 色爆五月| 精品视频这里只有精品| 久久 天天| 懂色av粉嫩AV蜜臀AV| 99热久只有精品首页| 丁香在线视频| 五月丁了香蕉综合| 五月天另类视频| 日本不卡高字幕在线2019| 亚洲无码成人网| 五月天伊人综合| www.99操| 天天操电影院色狼性av| 亚洲成AV人片在线观看| 99久久婷婷五月天| 操操操97| 婷婷五月天亚洲综合| 99视频综合| 可以直接看的av网站| 色五月婷婷久久| 国内裸舞二区| 午夜微拍福利| 亭亭玉月丁香| 99视频在线观看视频| 亚洲成人五月天| 99热碰碰| 色情五月婷婷| 久久久久综合激动五月天| 热久久这里只有精品| 春色激情第四色| 大学生高潮无套内谢视频| 永久99免费视频网站| 日韩丁香涩| 香蕉AV777XXX色综合一区| 无码一级片| www.婷婷五月天| 国产婷婷综合在线免费视频| 色噜噜97视频在线观看| 色综合久久天天综合网| 中文AV网| 激情都市五月天| 91大屁股精品| 丁香九月激情| 最新丁香六月婷婷| 久久婷婷网| 99ER热精品视频| 久久a热| 亚洲欧美综合7777色婷婷| 婷婷综合久久| www.成人婷婷综合| 精品人人操| 天堂婷婷综合| 丁香五月另类色婷婷麻豆| 开心五月激情站| 久婷婷五月综合欧美| www.超碰在线| 五月丁香婷婷激激激综合网色播| 大香蕉五月丁香| 99视频日韩| 九九热在线视频观看| 婷婷五月天亚洲丁香| 99无码超碰| 99热国产在线| www.91九色| 国熟女视频| 久久综合中文| 碰人人97| 黑人糟蹋人妻HD中文字幕| 操逼三区| 天天色天天日天天舔| 五月天婷婷激情干干| 综合网啪| 日韩aⅴ视频| 国产人妻人伦精品一区二区| 99久久婷婷国产综合| 色六月天| 五月天开心婷婷久久| 色婷婷电影| 丁香五月综合激情性爱| 亚洲乱码日产精品BD| 日本精品99网站| 综激情网| 狼人婷婷综合| 国产欧洲欧洲精品久久| 天天色激情| 综合视频五月| 五月丁香婷婷激情| 五月色婷婷在线观看| 婷婷色影院| 婷婷六月综合| 五月婷婷色播| 啪啪东京热| 中文在线成人| 色99日韩| 丁香五月婷婷六月婷婷| 久久99婷婷| 99热日本| aaaaa不卡| 人妻系列久久久久久久久久久 | 91在线视频观看午夜福利| 超碰人人摸人人操| 一区二区成人电影免费播放| 色婷婷丁香五月| 色色五月天激情| 99热这里是精品| 播丁香五月婷婷欧美| 日本丰满久久| 欧美性交一区二区三区| 丁香五月婷婷色偷偷| 色射影院| 大狠狠在线| 久久成人天| 美国十月色婷婷在线观看| 玖玖爱伊人| 久久XX日本综合| 九艹在线| 五月婷婷在线短视频| 91五月天| 五月婷婷在线视频免费观看| 呦呦视频无码播放| 久久人妻www| 另类激情五月天| 99五月香婷婷丁香在线视频| aaaaa不卡| 亚洲操B| 婷婷丁香五月色偷偷| 日韩在线一级| 婷婷色激情网| 午夜性做爰电影| 午夜少妇在线观看视频| 91精品婷婷国产综合久久| 在线成人av播放| 色天堂97| 天天肏视频| 激情桃色网| 春色激情第四色| 热99精品视频| 99色色色色| 亚洲免费av在线| 综合AV在线| 色婷婷激情| 国产做爰视频免费播放| 久久日婷婷| 色99在线看| 综合激情五月天| 99综合婷婷五月| 很很干五月天| 色99网站| 伊人久久99| 99黄色在线视频精品熟女| 啪啪亚洲综合| 中文字幕激情综合| 亚洲亚洲人成综合网络| 在线五月婷| 日本精品九九九| 热九九精品| 99色啊| 久久久www| 色五月无码| 五月婷婷激情中心| 中文字幕成人影视| 久久99热这里只频精品6学生| 97干干干丁香| 欧美亚洲成人在线| 丁香六月激| 综合综合网| 另类专区在线| 精品一二三区久久AAA片| 婷久久综合| 99在线免费视频| 婷婷四月 成人 狠狠干| 五月久久丁香| 色综合网址| 狠狠久久婷五月综合色| 久久综合影院| 日韩狠狠色婷婷| 久久综合丁香激情五月| 激情五月综合| 专区无日本视频高清8| 久久综合五月| 丁香综合伊人| 色婷婷久久综合中文久久一本| 99精品久久| 99欧美精品99日本精品| 日亚二欧美| 婷婷伊人| 五月婷婷在线观看| 黄色成人网站在线播放| 成片免费播放| 91男女视频在线观看| 九九大香蕉黄色影院| 五月欧美色播| 亚洲色99| 五月婷婷天| 99久久婷婷综合| 国产69久久久欧美黑人A片 | 男妓跪趴把舌头伸进我的嘴巴| 99热精品超碰| 欧洲不卡视频| 五月丁香六月婷婷免费视频| 99视频这里有精品| 国产美女无遮挡裸体毛片A片| 香蕉五月婷婷| 五月色婷婷亚洲 | 开心五月婷婷| 久草a片| 夜夜夜叫天天天做| 九九热在线99| 久草网大香视频| 婷婷天天舔| 中文久久婷婷| 婷婷综合丁香| 五月婷婷在线丁香| 久久婷婷五月天蜜桃| 香蕉AV福利精品导航| 色玖玖导航| 狠狠色狠狠色综合日日91| 成人精品在线| 9 9 9色色| 黄涩毛片| 熟女激情网| 狠狠操狠狠操AV| 男人天堂AV在线一区二区| 国产片色| 色999;丁香五月| 插逼综合网| 六月丁香社区| 天天狠天天叉| 婷婷五月丁香欧洲| 成 人 色 色| 国产伦亲子伦亲子视频观看| 99色视频| 激情丁香五月婷婷| 五月天婷婷狂暴白浆| 色播丁香| 色婷婷五月综合在线| 日本97在线看片| 台湾综合丁香五月蜜桃| 五月丁香婷婷久久| 吊色AV男人的天堂| 九九精品视频在线观看| 色青青电影色五月| 婷婷伊人綜合中文字幕小说| www.天天干| 亚洲AV成人无码精品| 色五月开心五月激情五月| 九九在线视频| www.黄色片-久久成人国产精品在线播放-999AV| av性爱在线| 香蕉AV777XXX色综合一区| 五月婷久久综合| WWW激情五月天| 狠狠操天天干| 金桔一区二区ab地址| 五月综合丁香婷婷| 亚洲视频另类| 六月丁香社区| 久久九网| 丁香五月激情综合网激情五月| 婷婷久久综合| 青草青草久热这里只有精品| 超碰高清在线| 大香av| 99无吗| 五月天天综合网色婷婷| 日日肏夜夜干| 一二线视频 另类| 天天色天天噜| 免费无码毛片一区二区A片| 天天爽夜夜爽夜夜爽精品| 超碰chaompinm| www.五月天色色.com| 色综合色| 91丨九色丨老农村| 色色色色色色网站| 午夜丁香六月婷| 十一月婷婷激情四射| 99精彩视频| 99热999| 国产精品人人妻人人爽| 亚洲成人电影在线免费观看| 天天日天天日天天搞| 色婷婷丁香女女| 五月婷婷视频ab| 一本到不卡高清DVD| 久久99美女精彩视频| 日韩久久日| 五月激情婷婷在线| 任你弄在线视频免费| 夜夜夜叫天天天做| 草草色情综合网| 五月丁香中文字幕| 综合久久六月| 五月开心久久| 婷婷午夜综合| 久久久久婷婷| 婷婷偷拍网| 五月婷婷色色| 桃色激情婷婷伊人网| www.9操| 天天色综合网吨吧| 日本玖玖在线| 蜘蛛女侠2003满天星免费观看| 亚州综合色| 中文AV在线播放| 国产 码在线成人网站| 久久五月天综合| 狠狠狠狠免费| 牛牛澡牛牛爽| 直接看的AV| 九九色色色| 99热精品中文字幕| 五月丁色AV| 色爆五月| 99这里只有精品视频| 超碰97色| 殴美日韩成人| 久热九九| 五月 婷婷 成人| 丁香五月婷婷激情完整版| 亚洲成人中心| 成人短视频在线| 91久久久久久| 色婷婷亚洲在线| 婷婷性爱综合| 香蕉狠狠爱视频| 色综合色色| 另类少妇人与禽zOZZ0性伦| 操你av| 五月天基地| 玖玖综合网| 99色色网站| 亚洲9久久精品| www,超碰| 三区激情四射av| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 色五月婷婷激情综合网| 黄色视频网站在线播放| 九九無妻| 久久五月天激情婷婷| aaa久久久| 国产avapp 网| 99热精品少| 99精品久久久久久久久| 99热青青草| 天天综合久久| 九九九九这里只有精品| 国产一区男女| 青青草原伊人网| 天天干天天拍| 久久精品亚洲一级牲爱综合 | 五月天婷婷社区久久综合| 激情网五月天| 五月天婷婷丁香社区| 久热99热| 日韩av一区二区在线/日产精品久久久 | 五月丁香啪啪啪| 婷婷五月成人系列| 原琪琪色影院| 五月综合激情| 欧美丁香五月| 久久天天天| 大大香蕉综合在线| 国产成人在线精品| 亚洲 无码 中文字幕 中出| 婷婷五月天久久综合88| 亚洲激情综合| 五月天六月色| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 玖玖综合色| www.激情| 丁香五月天五码婷婷| 丁香五月天.com| 狠狠ri| 五月婷色色| 五月天激情.com| 99热热这里只精品996小说| 亚州色色色| 五月婷成人网| 九九综合网色全集| 五月婷婷六月激情| 五月天综合在线观看| 五月丁香手机在线| 九九99九九精品视频| 日本综合色图| 99这里只有精品在线观看| av成人在线播放| 日本人妻伦在线中文字幕| 日本啪啪天堂| 久久这里有精品视频在线免费观看| 激情图片婷婷| 五月天丁香久久综合| 直接看的AV| 婷婷五月情| 青青草深爱激情网| 五月丁香| www.91AV.com| 亚洲精品一区中文字幕乱码| 9久久久久久久久久久| 丁香五月狠狠综合欧美| 欧美五月婷婷| 99久在线精品| 99r这里| 77799热| 色综合久久99色| 欧美一级毛卡片无码| 天天爱天天操| 婷婷射丁香| 色偷偷五月天| 天天做天天双| 丁香五月激情棕合| 五月天激情黄色网址| 色色色色综合网| z色五月播播久久| 噜噜噜精品欧美成人在线观看| 久久婷婷丁香五月一二三| 久久婷网| 色婷亚洲五月丁香| 久久婷婷五月综合色丁香花| 五月丁香啪啪网| 99久在线精品99re8| 五月丁香拍拍激情综合| 色婷五月天| 99热销国产这里有精品| 超碰色热| 欧美大片免费播放器| 五月天激情国产综合婷婷婷| 亚洲无线视频| 久久久久久久人妻| 婷婷五月伦理网站| 热99视频| 这里只精品| av 一区三区四区| 91狠狠色| 久久久久久久8| 9色在线视频精品观看| 日韩专区五月天婷婷丁香| h在线看免费版在线看| 久久五月视频| 五月天婷婷基地综合网| 五月婷婷九| 五月天激情亚洲| 丁香香五月激情免费视频| 久久色情| 五月天色色色网| 国产成人精品一区二区三区视频| 亚洲色频| 99热9| 久久99视频| 天天爽夜夜操| 夜夜爱网站|