久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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屬正?,F(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
返回資訊列表
国产美女91| 丝袜制服字幕在线| 人人摸人人干| 97草草| 四虎av在线| 不卡日本一区二区| 日本熟女免费視颖| 超碰人人在线| 青青草久久一区网| 十八禁电影伊人网| 东京热综合久久一区二区| 欧美双插| 在线无码操| 亚洲操操| 久日91在线| 97超碰国产亚洲精品| 亚洲高清欧美总合| 欧美一区二区日韩三区| 九九久久99| 台湾肥佬网一区二区三区| 99re在线视频国产| 78精品| 亚洲日韩人妻中文字幕一区| 91精品人妻电影| 国产精品一二三免费网站| 中文字幕丝袜人妻| 欧美91精品国产自产| 久干9操| 偷拍 精品另类 凸凹了四区| 二三四区精品| 日本女人久久久| 欧美黄色大片在线观看| 日本一区三级韩国| 蜜臀99久久国产| av无线看| 韩国女主播青草福利视频| 久久精品99| 大香蕉一级黄色片久久| 日韩女模中文造逼| 夜夜骑操视频| 日本成人免费一区二区三区| 亚洲色婷婷| 欧美熟妇亚洲版| 97在线观看免费视频| 人妻人人做人人澡人人爽欧美一区| 国内自拍 日韩激情 99| 小草av不卡亚洲二区 | 久7色| 亚洲污污网站| 丰满人妻被猛烈进入中| 丁香六月婷婷久久综合| 18精品一二区| 色哟哟511老熟女| 97视频观看| 超碰偷拍| 狠狠色噜噜狠狠狠狠狠色综合久久| 综合网,亚洲,欧美| 中文字幕激情小说| 伊人久久艹| 伊人四虎综合| 99性爱在线观看| 亚洲男人的天堂一区二区| 久久精品导航| 免费综合亚洲中文| 蜜桃视频啊啊啊啊| 在线免费观看日韩一区| wwe 天天干.com| 大香蕉伊人网| 欧美黄色图片| 草草草视频在线免费看| 五月婷婷基地| 久久久草成人网站久久久草成人久久久草久久久| 99蜜桃臀久久久欧美精品网站| 2024年最新色情网站在线观看| 99综合网| 国语精品av| 亚洲黄网在哪免费看| 久久亚洲熟妇在线视频| 色乱二区| 天天综合站| 国产一级不卡在线观看| 中文字幕久久亚州无码| 天天综合网日韩7799| 国产又大又粗又长视频在线| 老熟女搡BBBB搡BBBB视频| 欧美日韩理论一区| 综合国产影视三级| 亚洲日本天堂| 国产精品熟女丝袜一区二区| 亚洲精品久久久久久| 国产精品成人福利在线| julia中文字幕在线观看| 国产精品亚洲色婷婷久久久| 青春草A| 国产Av超碰| 一区| 天天操天天干一区二区| 人妻超碰青青草98| 久久一区二区三区入口| 中出20p| 中文字幕在线高清男人的天堂| 伊人在线大香蕉视频久久| 亚洲人妻中文高清| 玖玖爱视频网站| 巨爆乳肉感一区二区三区竹菊影视| 国产精品对白自产拍| 四虎影院成年人片| 91中文字幕制服丝袜免费视频| 成功精品影院| 日产操逼| 色网1| 福利色色| 亚洲影院成人| 嫩草影院永久在线制服丝袜| 插日本熟女视频| 骚日日av| 99久久这里只有精品| 久久中文字幕不卡人妻| 97公开久久| 中文字幕日韩人妻视频一区二区三区| 婷婷五月天色网| 色噜噜婷婷| 91丝袜| 爱干爱射网啊啊啊| 久久久久成人亚洲国产| 97亚洲中文| 欧美成人综合| 中文字幕成人| 在线人成亚洲视频免费观看| WWW美腿丝袜香蕉中文| 久久思思热| 精品无码欧美三级| 69丨亚洲丨精品丨入口免费播放| 久青草影院| 亚洲最新Av| 九九九九一级| 欧美久久九九| 探花熟女,姿勢到位,體驗感也到位| 日本幼女18+| 人妻在线臀日韩| 亚洲成人免费中文字幕| 天天噜| 97干天天| 五月丁香在线| 国产超碰| 香蕉黄色一级视频| 欧美情色亚洲| 涩涩久久精品| 97亚洲国产影视| 色狠狠 - 百度| 性猛交| 大香蕉92| 日韩伦理久 久久 清纯| 青草草免费网站av| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 激情AV| 国产精品白丝在线播放| 少妇精品| 综合激情一一91| 国产女人高潮视频| 亚洲一区二区三区AV无码| 99re在线| 欧美最婬乱婬爆婬牲视频| 日韩在线AB| 欧美精品自慰系列寂寞少妇| 国产多人在线观看视频| 欧美亚洲图片| 女人18精品一区二区三区| 一区二区三区四区五区高清无码永久视频 | 蜜汁欧美| 亚洲一二三| 老女人日韩美91| 激情五月天社区| 国产精品直播在线观看直播| 亚洲高清欧美总合| 日韩精品一区,二区 九九...老司机| 欧美大码在线视频| 精品一区二区三区蜜桃臀赵总 | 三级精品三级在线观看| 试看60秒 爽| 青青草影视蜜久久| 亚洲中文sv| 伊人 俄罗斯 a v| 96AV久久久| 久久久久精| 亚洲激情综合| 免费看日本操逼视频| 久操网视频| 久久久久亚洲熟妇熟女| 久久这里只有精品9| 久久久草草精品| 美女91在线观看| 香一区二区三区| 国产成人网址| 丁香九月激情| 婷婷97| 99热91| 91干熟女| av中文在线| 精品性爱无码在线播放| 久久九九国产精品| 无码在线亚洲| 熟女人妇一区二区三区| 日韩操逼性鲍| 26uuu欧美日韩| 一本色道无码DVD中文字幕| 天天看天天日| 国产日韩无码一区二区三区久久区| 天美传媒AV在线播放| 久久午夜神马| 国产精品视屏| 天天日天天操天天射河南省| 操逼操2| 日韩三级伊人| 在线观看一级α片刺激高潮视频| 成人无码电影在线观看网| 超碰在线人妻中文字幕| 日韩一级特黄av毛片| 人妻一区视频| 曰韩无码777| 国模精品一区二区三区苹果色戒| 久久精彩免费视频| 亚洲夜色在线| 亚洲日韩青青草色月| 欧美情色男人的天堂| 啊啊啊啊啊好大好舒服想要| 91久久久久久久| 日本国产二线女色| 91综合站| 国产精品久久天天干| 日本免费一级AAA大片器| 一区二区三区黄色片a| 十八岁啪啪视频免费看| 日韩性爱视频免费在线| 久久久久久性爱片| 91精品国久久久久久无码| 久久原创中文| 久久亚洲一区二区色婷婷| 天堂综合网| 国产色图乱伦| 国内毛片婷婷六月色| 欧美久久伊人| 日日干日日| 日韩AV中文字幕电影| 亚州综合色图| 哈哈操电影| 热思思免费视频| 美国一区二区三区视频| 五月激情啪啪| 欧洲精品一区二区三区| 97欧美色| 翔田千里爆乳巨臀无码| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 亚洲色图欧美一区二区不卡| 中文字幕亚洲永久精品| 超碰av在线| 亚洲一二三精品久久网| 97视频新免费| 好爽免费视频| 亚洲一级性爱视频免费看| 久久精品国产亚洲AV成人直播| 亚洲综合五月天| 夜夜中出国产| 亚洲男人天堂2013| 精品人妻一区二区三区在线视频不卡| 欧美性爱第一区| 97av在线视频| 99只有精品| 青青青在线高清视频在线一二三四区| 天天色天天干天天爱| 大香蕉久| 国产av热热色| A级国产欧美激情在线| 成人亚欧免费视频| 久久久影院| 久久99深爱久久99精品| 豆花视频操逼网址| 超碰79人人乐| 久久久青青草| ..日韩av毛片精品久久久| 亚洲欧洲另类| av日韩中文字幕| 无码人妻一区二区三区色欲aⅴ | 亚洲精品日韩国产欧美| 欧洲精品久久| 九九九九精品| 欧美精品999| 成人在线永久| 七月丁香婷婷| 色婷婷电影| 青青草成人视频在线观看二区| 丁香激情网| 精品无码人妻一区二区免费蜜桃| 午夜福利合集| 国产亚洲日韩在线三区黑人| 毛片视频白嫩| 欧美激情高清性猛交| 久久久亚洲欧美综合| 小草精彩毛片| 91中文字幕制服丝袜免费视频| 岛国视频一二三区| 97资源欧美| 一起草视频在线| 欧美成人一区二区三区在线播放| 欧美另类自拍 | 亚洲 日韩 欧美 国产综合体| 国产精品久久久久久久久久久久久久久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 黄色二级片网站| 人人操人人摸超碰| 六月丁香五月婷婷| 丰满少妇精品一区二区| 亚洲蜜乳av| 国精综合一二三区影视| 久久超碰国产一区二区三区| 亚洲天天艹| 91白嫩| 欧美在线播放aaaa| 国产自偷| 福利在线黄片| 97视频新免费| 日韩一级特黄av毛片| 97视频在线观看高清资源| 啪啪啪综合网| 美日韩一卡二卡三卡免费人妻精品| 欧美高清91| 亚洲成?V人片在线观看福利| 亚洲交换| 囯产乱伦一区二区三女| 牛牛久久国产精品视频一二三| 成人小说另类在线| 夜夜夜久久| 欧洲精品一级二级精品综合视频综合 | 国产极品999| 婷婷丁香激情| 亚洲国产一区二区三区在线 | AV不卡在线| 自拍亚洲综合| 亚洲精品日韩国产欧美| 操一对老熟妇爽上天视频| 色综合色欲色综合色综合色综合| 欧美 日韩第一性色| 强奸乱亚洲| 国产女人9999| 图片区小说区| 中文字幕AV中出| 五月丁香影视| 黑人综合网| 伊人97色天使| 国产精品久久久久久照片| www.91欧美| 一区操逼日比视频| 久久国产精品视频| 国产999精品久久久久久| dy888午夜老子影视达达兔| 亚洲色图久久成人| 亚州熟女乱伦| 白丝在线一区| 日本在线不卡一二区| 九九热国产| 久久天天摸| 欧美夜夜草视频| 欧洲一区二区三区免费| 欧亚性爱啪啪| 97天天操| 神马午夜久久久| 操我无码| 78超碰| 很黄很污的免费网站| 少妇啪啪自拍| 欧美在线中M| 伊人久久婷婷| 99人妻碰碰碰久久久久禁片| 亚洲的天堂网| 熟妇人妻精品一区二区视频色欲| A片大香蕉在线| 亚洲熟久久| 亚洲AV无码久久久国产精品| 国产精品第一页国产大屁股视频免费区| 91女网站| 亚洲精品亚洲人成在线麻豆| 综合 亚洲 欧美| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 免费看A片毛毛片在线播| 欧美少妇高潮视频| 久操视频免费在线观看| 亚洲精品一区二区三区在线播放| 亚洲毛片基地专区| 欧美大战久久久伊人| 中文激情网| 日本韩国国产精品一区| 99热线麻豆 | 成人一道本免费视频| 941超碰| 97久精品| 探花一区在线| 精品一区二区国产日韩| 狠狠97| 久久超碰免费的| 国内精品久久久久影院亚洲| 日本国产亚洲一区在线观看| 国内外激情在线| 射丝袜高跟鞋99| 激情五月天社区| 性无码专区2020| 日本五区不卡| 久久久久久久久久久999| 婷婷精品| 91精品国产日韩欧美综合| 四虎av在线| 色色综合97| 日日日日日| 操逼片中文| 综合伊人网12色| 午夜经典| 精品久久久一本一道| 久久水蜜臀亚洲AV无码精品| 性爱久久| 在线观看综合精品亚洲| 黄色人人| 国产操逼网站亚洲一级黄色| 精品97久久| 中文字幕一区二区三四五区日日骚| 亚洲 图片 综合91| 色色五月天婷婷| 1769一区二区| 粉嫩粉嫩一区性色AV片| 亚洲黄色视频在线观看视频| 九九九九九精品视频| 青青青草伊人精品| 亚洲精品不卡一二三区| 久久精品一区| 久久久久性熟视频| 狠狠干综合| 久9视频| 黄色免费网页无码| 亚洲三区视频| 正在播放国产精品一区| 99亚洲精品| 美女黄网| 欧美牲| 中文字幕三四五区| 国产人妻久久精品一区二区三区| 国产乱不卡| 国产精品动态一区二区三区四四| 91AV天美在线视频| 天堂网 主播 亚洲| 蜜臀无码一区二区| 男人精品天堂一区| 男人久久精品| 亚洲欧美在线综合| 亚洲凸凹超碰成人| 在线免费试看60秒| 茄子社区国产精品| 久久青娱乐| 久久熟女嫩草成人片免费 | 亚洲自拍欧美色综合| 99www.bibizy香蕉资源国产一区二区三区高清 | 国产激情在线| 久久鲁干| 亚洲精品无码少妇久久| 亚洲AV无码黄色强奸| 精品久久久久av影院| 天天艹天天日| 亚洲无码久久久久久久| 国产精品亚洲免费| 很很干很很操| 欧美中文字幕男人天堂久久精品 | 成人精品视频| 九九国产| 影音资源男人日韩| 男人的天堂久久| 超碰在线91| 亚洲一区二区三区婷婷| 极品销魂美女一区二区| 亚洲av无码成电影在线播放| 八人操人人摸人人看| A片 AV一级在线播放观看免费| 日韩欧美亚洲一区二区三区影院| 美日韩成人| 久久久一级| 午夜福利久久久噜久噜久久综合| 美骚妇av高清在线| 日本 情色 1区2区3区| 国产三级中文字幕粉嫩| 狠日欧美| 免费啪啪av| 永久免费发布性爱网| 日本污ww视频网站| 精品国产自在在线99| 欧美精品91| 亚洲男人天堂2016| 免费男人的天堂| 亚洲 在线| 亚洲无码com| 国产精品无码久久久久2025| 欧美日韩国产色图在线| 日韩偷拍色图| 国产乱人妻精品入口| 91精品国产长腿丝袜美女| 天天综合中文字幕 91| 色在线视频导航| 人人看欧美性爱| 欧美性爱另类综合| 婷婷伊人一区| 操91| 78久久| 69少妇一区二区| 久久久国产三级黄色片| 欧美综合色站| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲高清在线se| 鸥美中出| 国产探花精品在线| 中文字幕在线观看丝袜| 啊啊啊啊啊好大好舒服想要| 欧美九九九| 三级日韩一区二区三区| 91精品国产高清久久久久久,亚洲成人| 久久极品伊人| 欧美页片| 日韩有码专区| 性做久久久久久久| 欧美综合第一| 秘书高跟黑色丝袜国产91在线| 一二三区操逼国产91| 色嗨嗨在线| www.四虎在线| 老鸭窝成人| 亚洲国产精品成人久久蜜臀| 日韩激情中文字幕有码| 97一区二区蜜臀| 久久精品国产97欧美精品亚洲 | 花花AV导航| 美女极品一区二区三区| 中文字幕一区 二区三四五 区日 日骚| 天天日天天屌天天操| 亚洲激情视频| 日韩女模中文造逼| 啊啊啊啊啊好大好舒服想要| 97超碰香蕉| 日韩不卡毛片Av免费高清| 欧美欲色| 国产一二三福利视频网| 在线观看色视频| 天天亚洲综合| 欧美日韩在线小说| 久久艹逼视频| 丝袜狂射91| 中字幕人妻一区二区三区| 欧美躁死她一区二区| 蘋果手機免費看成人Av| 日韩av性爱在线播放| 亚洲激情综合| 色哟哟av| 久久美女国产| 亚洲性猛交| 乱性AV| 九九热精品免费视频| 中韩中文字幕在线观看| 欧美性爱一级操| 精品国产国产AV| 亚洲无码视频免费在线观看网址!| 成人AV在线电影| WWW美腿丝袜香蕉中文| 精品中文字幕第一页| 亚洲日本男人天堂网| 国产精品播放| 99在线免费视频| 揉揉揉夜夜| 精品亚洲国产成人AV制服丝袜| 色女免费在线观看视频网址| 天天弄天天操| 六月丁操逼| 青娱乐福利99| 99re8超碰| AV乱伦国产| 亚洲情色五月天| 五月天亚洲色图| 久久男人的天堂国产| 欧姜老司机| 日本一级一级一级一级| 清纯唯美综合| 97色婷婷| 97天天日| 亚洲熟妇丝袜在线观看| 国产精品一区二区手机看片| 欧美激情视频一区二区三区不卡| 小说区 图片区色 综合区| 人人摸人人干| 男人亚洲天堂| 久久的网站啊啊啊啊啊| 69av一区二区三区| 2017大香蕉国产精品久久| 亚洲国产婷婷在线播放| 天天插天天操天天摸天天射天天看| 中文字幕丝袜国产第一页不卡| 日韩欧美偷拍美女视频| 顶级丝袜熟女一区二区三区| 天天综合站| 欧美色色色| 超碰97中文| 亚洲色图大香| 亚洲欧美高清无码| 加勒比av中文| 亚洲精品人妻吞精av| 偷偷人人精品女女久久| 狼天天狼天天大香蕉| 日韩一级久久毛片| 超碰久久草| 26uuu国产免费观看| 欧美黑人与女人91| 97超级久久强资源| 亚洲AV成人无码一二三久久| 欧美大香蕉97| 秋霞免费AV| 九九九久久久W精品| 欧美亚洲玖玖玖| 摸奶性爱视频网站在线免费播放| 国产乱码久久久久久| 欧美 亚洲 偷拍自拍| 青草成人免费视频一COm| 亚洲熟女综合| 亚洲av淫乱| 亚洲在线91| 中国黑人三级片网站上区| 亚洲欧美日韩精品久久久一区二区| 欧美亚洲系列| 东北女人的毛片| 天天操天天舔| 91色图| 91在线/欧洲| 五月综合久久| 国产黄片精品在线| 手机在线大香蕉| 青青国产在线拍揄自揄拍| www成人啪啪18秘 免费| 99国产精品| 九七毛片九九毛片| 女人爽到高潮久久久| 黄色人人| 天天干人妻视频| 熟女一区二区| 国产精品成人无码av| 亚洲影院成人| 久久精品国产精品| 婷婷色导航| 日韩操p| 97久久超碰日韩精品| 久久久久久久78| 国产成人网| 亚欧免费| 日韩少妇无码| 久久人体一区二区| 一区二区三区四区五区高清无码永久视频| 国产熟女乱论| 在线a亚洲视频播放在线| 9 1超碰九色| 麻豆天美国美国产AV| 高清无码 国产精品| 中文字幕欧美日韩三级| 青青草原成人| 区二区亚洲婷| 99国产精品人妻人伦| 国产树林里野战在线看| 大二网站亚洲| 东京热男人天堂| 欧美偷偷网| 天天摸天天碰天天添青青| 91九色在线| a片久久久久久久久久久久 | 啊视频在线| 中国少妇XXXX做受| 欧美亚洲手机在线| 色阁阁AV综合网| 人妻天天爽夜夜爽精品2| www.99在线| 大香网站| 不卡av在线中文字幕| 九九九热| 国产又粗又长视频| 久久女女| 国产人妻精品一区二区三区秋霞 | 婷婷五月天久久久| 欧美日韩香蕉| 亚洲国产成人精品999| 99re9| 亚洲欧美骚| 性感美女啊啊啊在线| 亚热日本熟女| 亚洲中文电影| 精品视频专区| 亚洲精品一二三四区| 992这里有精品| www.91色| 精品国产精品一区二区| 啪一啪免费视频| 激情无码日韩| 日逼视频日本| 久久久久久一日韩字幕无码| 国产丝袜美女在线一区| 亚洲中字幕日本一区二区三区| 青草一区二区| 91欧美情色| 亚洲情色 自拍| 美女爽到高潮91| 精品中文日韩字幕视频| 日韩欧美资源| 日本孕妇孕交| 国内操逼视频二区| 国产不卡中文字幕免费avi| 少妇诱惑视频| 亚洲最大的黄色电影网站。| 欧美三级一级| 色 婷97| 91色鬼| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 天天日美女的B| 国产成人精品午夜福利| 超碰97首页| 蜜桃臀一区二区aV| 欧美九一精品久久久熟妇| 色777999综合| 久久有码视频| 快灬快灬 一下爽蜜桃在线观看| 97国产精品一区| 99999国产精品| 蜜臀久久99精品久久久| 无遮挡又黄又刺激的视频| 午夜福利国产欧美日韩夜夜| 综合国产影视三级| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 亚洲欧美一区二区三区在钱蜜桃 | 成人a v在线播放免费| 日韩三级伊人| 永久电影三级在线观看| 欧美性爱日韩高清| 一本久道在线综合视频| 久久久久久国产手机AV| 日本一级性爱| 人人爱操| 亚州色交| 免费网站观看www在线观| 青草视频人妻在线观看| 91精品国| 日韩亚洲欧美中文字幕| 久久久久久久强迫| 国产毛片在线| 欧洲熟妇xxXx欧美老妇裸体| 色欧美天天| 亚洲综合有玛| 2017天天透天天通天天擦| 日韩BBN| 国产熟妇 码视频户外直播| 欧美激情性久久久久久| 夜嗨影院| 欧美另类色图片| 大香蕉国产中文自拍| 超碰97首页| 高清视频一区| 老司机福利青青草| 国产精品无套内谢| 五月天色综合| 伊人一区二区三区| 精品少妇一区二区| 国产综合日韩伦理| 国产极品美女高潮无套在线观看| 91精品久久久久久77777| 91久青| 国产人妻精品一区二区三区秋霞 | 欧美99999| 中文字幕91页| 99无码| 欧美成人综合| 91爱网| 国产欧美日韩一区二区三区| 亚洲午夜av| 亚洲成人精品久久久| 精品二区久久| 手机看片日韩人妻| 九月婷婷综合| 人妻 欧美 中文| 精品天堂| 久久性爱网站| 久操高青| 欧美 日韩第一性色| 韩国免费播放一级毛片| 亚欧性爱在线无码| 久久久18禁| 肥佬影院91| 久久东京伊人一本到鬼色| 婷婷五月丁香五月| 校园春色综合香蕉| 女人精品内射国产99| 无码乱人伦中文视频| 五月天激情小说网| 狠狠躁日日躁夜夜躁A| 色姑娘综合网| 中国亚洲呦女专区| 欧美青青视频| 青草精品视频日本久久久久网站在线| 日韩中文字幕人妻视频| 免费视频在线观看啊啊啊啊啊| 97久久久久久久久久| 国产成人99久久亚洲综合| 可以免费观看的AV| 亚洲综合性网址| 亚洲国产丝袜熟女av| 国产在线精品偷| 999九九精品| 中文?日韩?免费?精品| 色婷视频| 男人的天堂日韩| 操操吧亚洲乱伦视频| 97亚洲综合电影| 青青草大香蕉视频| 亚洲美女自拍偷拍视频| 精品亚洲俞拍视频一区| 亚洲国产精品久久AV| 日本三级网页| 一本大道综合伊人精品热热| 人妻一区二区三区四区视频| 人妻熟女午夜精品在线| 亚洲第一视频 欧美风情 日韩| 亚洲欧美在线观看免费| 99九九久久| 天天干天天操天天操夜夜操天天操| 五月丁香影院| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 中文字幕aⅴ在线视频| 人妻爽爽啪视频| 翔田千里无码一区| 亚洲日本男人天堂网| 欧美91变态| 天天做天天爽| 97在线/亚洲| 日本女人操逼| 亚欧美无遮挡| 亚洲啪啪性视频| 大香蕉日韩欧美| 强奸乱伦大香蕉网| 97精品在线| 青椒国产97在线熟女| 嗯嗯啊好大| 蜜臀无码视频在线观看| 97免费在线视频在线观看| 亚洲资源站| 超碰97欧美在线 | 91Chinese在线| 久久黄黄黄| 欧美99| 中文字幕在线免费观看 | 中文子幕一二三| 国产无码一二三区| 舔人妻中文免费视频| 精品亚洲国产成人av网站| 国产情色第一第二页在线观看| 国产A v无码专区| 久久精品99久久久久久| 亚洲最新a在线观看| 人妻大香蕉| 色婷亚洲五月在线观看| 久久久久久十| 亚洲美乱| 一级性爱视频免费在线| 人妻天天爽夜夜爽精品2| av一区二区三区不卡| 狠狠图片青青草| AV一起草在线| 成人久久无码www| 国产又粗又大硬免费色网视频| 色婷婷成人综合| 一级性爱啪啪视频| 破处bbq| 制服乱伦| 久久久无码视频| 日韩一区二区熟女| 激情五月综合开心五月| 99色婷婷中文字幕乱色| 欧美日本国产日韩激情视频| 天堂精品一区| 97人人草| 麻豆国产97在线| 成人日韩中文字幕| 亚欧成人综合影院| 久久婷婷苹果| 欧美一区91大爱| 桃花色综合影院| 91爱欧美| 九九成人| 国产91会所女技师在线观看| 丰满人妻一区二区中文| 久久婷五月天| 一道α片欧美| 天天热精品| 婷婷五月天补不补| 精品免费视频国产一区| 午夜综合在线| 无码色| yw尤物av无码点击进入麻豆| 欧美亚洲成人在线一区二区三区| 一块操欧美性爱| 亚洲无码com| 熟妇激情| 狠狠狠一区二区三区| 亚洲国产奇米影视久久| 91色夜| 欧洲与亚洲欧美精品中文字幕| 九九性爱网| 日韩综合无码一区久久92| 日韩资源网| 志村玲子视频一区二区| 一区二区三区高清天码| 色噜噜人妻av中文字幕| 精品熟女一区=区三区| 日韩 欧美 另类 人妻| 日韩欧美久久婷婷网站| 久久久久久久 九九九九九九九 | 99∨VTV| 啪啪视频亚洲第一| 日本熟妇人妻一区二区三区| 日韩影片中文字幕一区二区三区| 92午夜免费福利视频| 97爱爱爱| 国产精品午夜精品| 精品久久久久黄少妇| 女人被添高潮免费视频| 男女日B国产| 欧美综合色图片| 级品肉射| 五月黑AⅤ| 日本性爱少妇| 一级人妻性爱视频| 日日骚网站| 色踪合AV| 天天综和| 日本日逼视频网| www.99中文字幕| 亲子敌伦对白在线播放| 国产精品一区二区后入| 美女人妻色网站| 99热欧美| 日韩精品1区2区中文字幕| 久久AV无码AV| 日本ZZ高免费A级视频| 青青国产在线拍揄自揄拍| 久久精品色欧美aⅴ一区二区| 国产黄色小视频网站| 日日摸天天爽夜夜欢| 亚洲脚交| 日韩丝袜高跟制服在线观看| 99热9| 在线人人人人人人精品超| 亚洲av综合伊人久久| 久久人| 91模特在线观看| 碰超人人在线一区二区三区| 夜夜嗨av午夜成人| 久久xxxx| 精品性爱一二三区| 国产亚洲精品无码三区| 亚洲男人天堂网| 成人三级片一区二区三区视频| 精品无码一区二区人妻久久蜜桃| 蜜臀久久在线视频| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 99综合网| 99在线精品观看99| 不卡啪啪视频| 风流老熟女一区二区三区l| 影音先锋日本乱伦| 肏逼视频日本| aa片毛片| 2017天天透天天通天天擦| 国产精品网站www| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 97碰碰色| 91五十路| 日韩一级二级三级免费看完整版| 亚洲色天| www久久国产精品| 人人操人人舒服| 国内偷自视频区视频综合| 精品无码久久久久久国产浪潮| 一区不卡在线观看av| 乱伦一区二区三区‘| 2020中文在线一区二区三区| 亚洲精品官网在线观看| 强奸乱伦资源| 久久久97| 丰满人妻一区二区三区免费,| 色噜噜综合在线| 人人色人人射人人妻| 亚洲精品骚逼| 日韩不卡网操逼中文字幕日韩| 91女优在线观看 | WWW.操逼.COM| 五十路六十路七十路熟婆| 国产精品嫩草久久久久| 伊人影院综合是一个与深夜成人在线 | 九九九九久久久久| 日本阿v天堂在线观看| 白丝被操91| 隔壁邻居波多野结衣中文字幕| 乱伦av.com| 色999五月色| 亚洲 图片 综合91| 九九热超碰97亚洲最新香蕉 | 国产一区二区三区免费视频在性观看| 成人精品一区二区91毛片不卡| 日本一区二区不卡精品| 超碰在线91| 嗯~啊~快点 死我视频| 色综和网| 97资源站国产精品| 91成人18| 可能人人看人人摸| 久久九九网| 亚洲AV乱码专区国产噜噜亚洲| 97超碰资源网| 91中文字幕在线观看| 91成人18| 亚洲精品人妻在线| 久久色情| 看黑丝美女操逼青青网站| 欧美洲精品一级| 亚洲欧美黄| 午夜亚洲国产理论秋霞| 爱我干综合| 国产夜夜操| 久久久久久裸体| 超碰在线一区二区| 在线国产福利网址导航| 99这里有精品视频| 三级网站超变态精品| 亚洲欧美激情小说| 囯产精品久久久久久久久久梁医生| 国产精品久久久无码AV网站| 男人天堂2012| 91N综合在线| 少妇激情一区二区三区视频| 中文字幕久久婷婷丁香五月天| 欧美午夜一区二区三区| 超碰亚洲欧美日韩无| 老熟女熟妇| 后入式福利| av爱爱爱| 人妻AV在线| 懂色AV中文| 亚洲人妻日日日| 精品无码不卡视频| 成人婷婷丁香| 超碰97在线中文| 欧美色亚洲| 国产一区二区三区久久久精品| 丁香九月激情啪| 中文字幕人妻色偷偷久久皮| 国产精品在线免费| 国产精品女生av| 麻豆60秒| 超碰欧美97资源| 少妇一级无码精品| 九九亚洲视频| 欧美一区二区三区成人性生活| av三级电影在线播放| 性爱乱伦一区| 啊啊啊不要啊啊受不了了视频在线| 日本Suv精品一区二区| 超碰国产精品久| ,国产乱人伦精品一区二区三区| 另类图片五月天| 亚洲情色 自拍| 伊人亚洲国产一成人久久精品,久久| 人人爱人人操人人性| www网站黄| 制服乱伦| 97精品国产97久久久久久免费| 伊人亚洲国产一成人久久精品,久久| 国产欧美伊人| 在线人妻熟女一区二区三区四区五区| 欧美人妻熟女在线| 国产在线不卡导航| 久久久久久久久女黄| 秋霞成人做爱| 小草三级久久观看| 大香蕉懂9| 入口操逼网站| 国产乱码精品久久久久久| 91操熟女| 免费观看的av| 青青草AV色| 天天操夜夜嗨| 午夜成人福利影视| 男人的天堂2019| 激情六月婷婷| 精品国产乱码久久久久久日本公司| 在线无码视频| 亚洲高清视频在线观看| 中文字幕丰满子伦无码专区在线视频最新 | 久久永久无码人妻视频| 99免费视频| 人人操人人操人妻人| 在线强奷到舒服的无码视频 | 男人天堂网手机版婷婷| 自拍偷拍 高清无码| 一区二区三区无卡视频在线观看| 操国产逼| 亚洲日本韩国极品一区二区| 欧美偷拍| 亚洲操操操| 四季av一区二区凹凸精品小说| 国产免费操逼| 亚洲男人天堂2013| 这里只有精品视频在线观看麻豆 | 91麻豆天美国产欧美高潮| 家庭乱伦网站国产| 亚欧美综合网。| 国产一区二区三三视频| 美腿丝袜高跟网免费视频免费视频| 久久在线观看免费视频| 91人妻做a观看视频| 一区二区日韩欧美久久| 91成人亚洲色图| 欧美成人黄网色网站| 欧美色图在线视频少妇| 欧美人妻久久精品二区三区| 欧美色图成人网一区二区 | 99操碰| 日韩二区三四区五区六区在线看| 综合久久久久久久综合网| 中文字幕久久亚州无码| 国产亚洲精品av一区| 亚洲精品一卡二卡三卡福利视频网站| 日韩在线性爱免费视频| 国产成人精品午夜福利| 性色av网站| 国产91丝袜在线播放蜜月| 日韩精品一区二区三区色欲| 久久久女人| 开心五月天激情网| 日韩有码中文字幕女同性恋| 思思热在线视频精品| 不卡在线观看视频| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 麻豆60秒| 久久专区| 91国产大片| 操逼1区| 91精品国产91久久久久久久久久久久| 亚洲天堂AV在线播放| 一二视频神马久久传媒| 色五月首页| 91麻豆天美| 九九热九九热| 一区操逼| 玖玖爱伊人玖玖爱| 九九热在线精品视频| 亚洲资源站| 亚洲aw毛茸茸在线| 人人人人插|