日韩精品一区二区三区在线视频放-无码中文字幕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屬正?,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
返回資訊列表
97色碰| 亚洲综合九| 天堂精品小草| 日韩啪啪啪啪啪| 男女做爰猛烈动高潮A片免费应用| 久久97资源 网| 午夜欧美女人操逼| 国产美女高潮| 欧美肥臀在线| 日本三级小说中文字幕| 亚洲超碰在线| 丁香五月影院| 综合欧美激情网| 易易A毛视频| 日韩国产十八禁| 嗯啊抽插大香蕉网页| 丁香婷婷激情五月天无毒不卡 | 国产传媒午夜理伦精品| 久草综合网| 日本一区二区电影网站| 亚洲黄色a级片| 国产精品96久久久久久| 天天情欲宗合网| 国产欧美第五页| 国产一区二区三区免费视频在性观看 | 欧美色图20P| 欧美78| 尻女朋友一夜| 操逼日韩无码 | 日本丝袜美腿人妻九九| 激情丁香五月婷婷| 九九无码视频| 在线人人人人人人精品超| av在线播放国产一区| 色香天天| 91九九九小逼| 国产午夜福利视频在线| 一本一道人妻久久一区二区三区 | 亚洲日韩美国人妻| 久久久久久久久久va| 91丝袜在线视频| 禁止观看美女黄| 9+1视频网址| 97国产成人精品免费视频| 久久伊人亚洲AV无码网站| 伊人天天久久动态图| 九七人妻在线| 蜜桃臀一区二区三区久久| 2025亚洲男人天堂| 国产污视频麻豆传媒一区二区| 9久久精品| 51一区二区三区| 五月丁香激情四射| 超碰97人人cao| 国产粉嫩蜜臀av一区二区三区| 精品无吗m| 久久夜夜| 91看黄片| 亚洲欧美日韩免费电影| 隔壁邻居波多野结衣中文字幕| 精品毛片av一区二区| 亚洲日韩在线a不卡99精品| 97精品| 99久久9| 日韩情色一区二区| 永久电影三级在线观看| 国产亚洲福利第一页丝袜| 日韩熟女操逼| 立川理惠无码一区二区| 国产美女mm131爽爽爽爽| 久久只有精品| 九九精品无码专区免费| 亚洲天堂人妻熟妇视频| 丁香五月久久| 艳美熟妇先锋一二三区| 欧美日韩大陆黑人少妇99| 国产视频大全| 日本精品一区二区不卡| 美女视频尤物网在线看| 狠狠操狠狠| 99亚洲精品| 江都AV在线| 超碰人妻久久人妻中文97| 成人一区二区三区四区| 2019天天干| 久久久久久人体| 97超碰久久| 呦呦一区| 欧美午夜一区二区三区| 性色av一区二区| 免看60秒涩涩视频| 在线亚洲欧美| 99热超碰在线| 人妻天堂综合网| 亚洲啪啪性视频| 天天干2区3区| 九七超碰| 精品国产久热在线观看| 国产污视频麻豆传媒一区二区 | 91狠狠综合久久| 视频在线观看一二三区| 亚洲AV色图一区| 亚洲激情片| 九月丁香综合网| 91中文在线| 日日日骚女人精品| V A在线| 国产欧美一区激情交| 啊啊啊不要啊啊受不了了视频在线| 欧美日韩不卡传媒| 成人aⅴ一区二区三区| 91狠婷| 久久一二三四五六七八九区| 天美传媒AV在线| 高清无码一区二区三区| 蜜臀久久99精品久久久久久久久| 麻豆区久久久久亚| 国产高潮AA片免费看| 久久超碰98| 欧美99999| 国产亚洲综合欧美一区| 天天在线91| 久久精品国产亚洲AV先锋| 亚洲欧洲网站免费观看| 无毛精品| 无码高清少妇久久| 亚洲。日韩。欧美| 亚洲欧美天堂| 青青草字幕AV| 国产乱伦视频污| 久久国内| 91麻豆天美国产欧美高潮| 国产操逼视频在线观看| 欧美页片| 中文字幕亚洲在线一区| 91成人无码| 极品五月天噜噜| 日本一卡二区在线| 色综合婷婷| 精彩久久中文| 人妻少妇色综合| 色图四区| 超碰97玖玖爱| 欧美极品| 九九av| 操迟操逼在巾线Fre看| 超碰97在线中文| 999亚洲国产视频| 日本顶级天天操狠狠操夜夜操中文字幕| 亚洲精品一二区| 激情黄色五月天| 亚洲清纯综合| 亚洲情色91| 97在线日韩中文字幕| 日韩欧亚太美不卡| 有码专区最新中文字幕有码| 精品人妻一区| 91在线一起| 亚洲二区精品在线观看| 中出人妻中文字幕91在线| 欧美强奸乱| 日韩精品系列| 强奸a片网| 亚洲日本天堂| 狠狠色婷婷7777久| 日产操逼| 九九九国产精品| 天天干天天拍| 伊人丁香五月婷婷| 亚州精品丝袜-不卡成人免费| 国产成人在线观看网址| 91精品国产乱码| 在线 制服丝袜中出 人妻| 欧美激情精品久久久| 国产成人无码高清| 亚洲自拍97| 人妻一区久久二区三区色播| 国产av青草| 高清有码一区二区| 日本精品久久久久久久| 国产97视频免费观看| 色婷婷一区二区三区久久午夜成人不| 黑操B| 你懂的在线观看区国产| 天美传媒AV在线播放| 久久视网78| 91|九色|国产熟女| 亚洲男人久久综合天堂| 亚洲天堂另类| 97色97好| 99xav| 国产精品久久久三级无码| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 欧美高清16| 天天碰操中国年青熟妇| 国产激情久久久| 91n欧美| 91高跟美女在线播放| 99热在线播放| 精品视频日日夜夜| 国产97色在线| 麻豆久久久一区二区| 成年人性爱日韩| 综合伊人激情| 日韩三级伊人| 国产一区在线看| 青青草手机在线免费观看| 免费簧片在线观看| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 久久99深爱久久99精品| 免费网色网站| 久久婷婷视频| 99re久久| 婷婷激情五月| av中文在线| 午夜福利精品| 99视频自拍| 欧美天天干| 国产探花日韩援交| www.91人妻.com| www久久国产精品| 青草精品视频日本久久久久网站在线| 精品人妻久久久| 精品日日人妻| 校园激情狠狠四射| 熟女少妇视频| 欧美九九九九九| 精品视频一区二区| 国产精品内射婷婷一级二| 久超碰这里只有精品| 天操天操夜操夜月月年年操操 | 玖玖爱视频网站| 日韩成人小视频| 天天综合网亚洲综合网| 亚欧高清| 自拍偷拍 日韩无码| 日韩一级特黄av毛片| 亚洲天堂AV在线播放| 小日子操bb在线看| 黑人操一区二区| 久久久 国产精品| 色色色色网站| www.夜夜| 欧美午夜色妇色鬼| 嗯嗯啊啊好大好爽| 欧美线天码中字| 精品国产乱码久久久A| 综合亚州欧美| 亚州综合色| 中文字幕高清精品一区| 狠狠激情综合狠狠操中文字幕| 99热99色| 美女丝袜激情小说| 熟女探花啪啪| 免费精品国偷自产在线在线| 18啪啪手机免费性爱| 亚洲成人一区二区精品| 天天综合网站| 国产白丝在线| 啊啊啊啊免费视频| 91丨人妻丨国产丨丝袜| 久久女女| 一类av片在线看| baiduhicn.com。| 视频分类 国内精品| 天堂69亚洲精品中文字| a亚洲欧美色欲| 天天欧美色| 亚洲综合有玛| 久久久久极品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 九九性爱网| 俺去也婷婷| 久久一二三级一一一| 综合色久欲| 人妻三级在线中文字幕| 日韩人成网站在线播放| 综合国产97| 懂色av中文字幕一区二区三区天美 | 91精品91久久久久77777| 91 丝袜在线播放| 1禁看欧美黄片免费看| 亚洲国产第一页综合视频| 国产乱弄免费在线视频。| 欧美天天综合站| 91熟女视频网| 欧美1区二区三区公司| 99热99色| 亚洲在线观看| 极品国产内射| 桃色五月天| 国产AV线| 欧美日韩香蕉| 久日91在线| 一区二区三区美女超清| 偷拍欧美激情| chaopen97久久| 强奸乱伦亚洲第一页| 69人妻人人揉人人躁人人精品| 国产麻豆91欧美一区二区久久婷婷国产精品 | 国产一级舔足在线观看| 中字乱伦AV| 97爱亚洲综合色| 午夜毛片亚洲精品片国产久久久| 黄色高清无码无码破解免费暗网| 蜜臀th| 日本天天操| 亚洲AO在线| 校园春色亚洲| 久久久艹艹艹| 91中出| 亚欧国产无码精品在线| 亚洲图片偷拍欧美| 大香蕉免费中文| 国产欧美另类久久久精品课程| 国产中文字幕曰本毛片| 91AV国产精品| 九九久久九九久久| 在线毛片片免费观看| 亚洲 中文 女同| 99热这里只有精品18| 99少妇精品视频| 蜜臀AV午夜精品久| 亚洲综合性网址| 很黄很色的视频在线观看| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲国产日韩欧美熟妇在线| 久久久久九九九九九| 日韩欧美一级特黄大片| 久久蜜桃一区二区| 91九久| 久久av无码| 欧美人妻中出| 婷婷丁香熟妇综合网| 麻豆精品.欧美精品.日韩精品.| 久久久五月天| 亚洲欧美综合| 日本免费不卡二区| 国产 热久久久久国产精品| 天天天乱色综合全| 国产精品一级毛片不卡视| 97在线播放 | 亚洲少妇中文字幕网址| 九久精品| 午夜久久久| 91五月天| 色嗨嗨在线| 肥佬影院91| 九九成人精品| 五月激情影院| 91狠狠综合久久| 成人av毛片在线观看| 91精品久久久久久久久久| 免费综合亚洲中文| 69XX一中文字幕人妻91| 亚洲综合嫩| 九九成人精品| 亚洲1区| 日本性爱欧美性爱| 国产91 丝袜在线播放00-百度| 啊嗯好大视频在线观看| 俺去俺来也在线www| 思思热一热婷婷热一热| 成人日本片久久久蜜桃| 欧美少妇色综合| 久久欧美按摩999| xxx0国产在线播放| 一区二区娱乐网站| 中国农村熟妇毛片视频| 欧美九九九九九| 久久精品人妻一区二区| 精品视频97| 亚洲欧洲小说图片视频 | 资源新线在线天堂| 久久久涩| 激情文学小说一区二区| 中文字幕片| 东京日日夜夜| 人妻熟女av国产网站| 国产三级在线现体验区| 999综合网| 色妇91| 日本欧美色| 大香蕉手机在线视频| 怡红院一区二区熟女人妻| 少妇厨房愉情理伦片bd在线观看| 91亚洲高清| 97碰碰色| 亚洲色电影在线| 91精品国| 综合色区偷拍| 啊啊啊啊好多水| 天天综合,91入口| 热热色青青草| 亚洲欧美日韩中文久久自慰| 超碰538| 嗯嗯,好大,好爽,好骚| 大香蕉AV丝袜| 亚洲射综合网| 黄页大片在线观看| 老熟妇综合| 99国产精品久久久在线播放| 国产精品一区二区后入| 97久久国产精品| 欧美骚少妇| 精品大全99999| 国产超碰欧美| 丰满人妻-区二区三区| 综合 亚洲 欧美| 日韩精品一区二区高清| 久久在线观看免费视频| 亚洲伊人成综合成人网| 精品人妻1区| 久久黄色性爱视频| 日本操BAV| 午夜黄色免费在线观看| 久久9精品视频| 嗯啊不要啊在线| 99999精品视频| 91麻豆天美国产| 亚州高清色综合| 啊啊啊久久久视频| 亚欧美综合网。| 欧美青青草视频| 情色大香蕉| 日韩精品人妻| 91成人久久| 1024人妻| 久久成年精品| 日韩干B| 亚洲国产综合视频| 国产免a费看黄片在线| 婷婷AV一区二区三区| 综合日本女人伊人| 欧美熟妇亚洲版| 欧美97网| 在线不欧美| 操逼国产免费| 91色女| 日韩大香蕉精品在线视频| 国产免费小视频| 欧美gv在线观看| 国产美女高潮叫床视频| 国产高清1234区| 蜜桃臀久久| 日本人妻丰满熟妇久久久久久| 亚洲 日韩 丝袜 熟女 变态| 精品久久一区二区三区四区五区| 欧美在线大香蕉| 日韩本不卡视频在线观看 | 免费成人在线熟妇网| 久久精品电影在线| 日本高清_区二区三区| 中文字幕第页| 97精品人妻一二三四| 伊人专区一区二区三区| 夜夜操天| 伊人欧美大香蕉视频| 美女熟妇色| 视频二区美腿丝袜制服人妻欧美| 国产天天噜一噜久久久| 欧美人与动性人交a| 久久ww| 亚洲清纯唯美| 人人操人人插人www| 超碰久久中文| 啪啪自拍九九综合| 婷婷五月天色| 999热日韩精品| 操逼1区| 久久111| 精品三级在线专区| 亚洲精品视频在线播放| 精品久久9| 国产91福利小视频在线观看| 偷拍欧美综合| 人人艹亚洲| 97免费免费视频网| 欧美色老汉| 超97在线精品视频| 一区二区三区成人| 91搞逼视频| 欧洲免费一区二| 日日夜夜精品视频| 江都AV在线| 亚洲色图欧美色图另类图片| 五月丁香啪啪啪| 欧美性爱超碰97| renqi久久久久久久久久久久| 精品丰满熟妇人妻一区| 亚洲色婷婷| 99热一区二区三区四区| 久久精品小视频| 人妻铁牛TV| 亚洲日韩av一区二区三区百合| 亚洲色图欧洲| 免费视频在线观看啊啊啊啊啊| 色眯眯av| 黄色高清无码无码破解免费暗网| 久久噜噜噜精品国产亚洲综合| 乱伦系列一区二区| 精品人妻久久久| 亚洲人成网www| 17c嫩草51久久91嫩草| 97激情97激情| 中文字幕交换人妻| 999精品女人| 清清一区二区三区四区不卡视频| 四虎午夜影院| 九区国产| 亚洲综合色男人网| 中文字幕乱在线伦视频中文字幕乱码在线| 欧美综合777| 欧美大香蕉专区网| 成人怡红院| 欧美另类色图片| 视频一区二区三区精品| 久久夜精品一区二区三区| 亚洲日韩国产欧美综合v| 中文字幕成人乱码熟女精品国50 | 亚洲人妻中文在线视频| 欧美日韩97在线| 丁香六月婷婷久久综合| 98人妻精品一区二区色欲| 97一区二区三区视频| 亚洲国产日韩欧美熟妇在线| 豆花视频操逼网址| 五月天久久人妻| 欧美色997| 久99热| 以及麻豆国产入口在线观看免费| 天天日骚逼熟女| 色综合潮| 免费夜夜爱黄色视频毛片| 国产精品亚洲一级av第二区| 久久精品店| 欧美日韩人妻婷婷一区| 麻豆亚洲Av成人无码一区精品| 一级黄色性爱A级片| 久久久久久久9| 精品美女人人干| 亚洲色图 欧美热图 清纯唯美 另类自拍 | www欧美91| 亚洲,欧美,春色,另类| 成人性爱美曰韩| 三级日本一区二区三区| 9Ⅰ超碰| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 日日橹狠狠爱欧美超碰| 天天操夜夜操| www.色婷婷色综合| 国产一级作爱毛片| 天天干天天燥| 摸奶性爱视频网站在线免费播放| 老熟妇91| 91久久国外网| 一本久久精品中文字| 九九九久千久久激情蜜桃在线看 | 偷拍网站久久男女男| 日本日皮视频逼| 3028国产精品| 欧美日韩另类在线播放| 翔田千里无码一区| 加勒比东京热五月天天堂网| 校园春色制服丝袜中文字亚洲| 97精品国产97久久久久久| 久久黄黄| 超碰人人乐97| 男人的天堂啪啪啪啪啪蜜桃不卡| 豆花视频操逼网址| 国产一区二区三区高清视频| 一本色道综合久久欧美日韩精品| 亚洲高清欧美总合| 91色香| 久久久青青草| 91少妇人妻| 欧美综合天堂| 亚洲全色网| 日韩免费a级毛片无码a∨| 91内射| 婷婷伊人五月| 亚洲伊人a线观看视频| 2017人人操,人人摸| K8久久久久| 少妇久久久免费| 久久综合婷婷| 亚洲色图久久精品蜜| 最新欧美色网| 东北老女人的激情视频| 天天舔天天日天天射| 风月影院男女十八禁| 久操| 日韩精品人妻一区二区| 天天日天天干天天操| 另类图片欧美激情综合| 亚洲一曲日韩精品| 日本精品一区二区中文字幕| 九九色色| 国产按摩一区二区三区| 操人妻逼91| 天天内射| 91中文字幕制服丝袜免费视频| 亚洲加勒比| 第四色奇米影视777| 亚洲码专区| 久jiu久神马影院| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 国产传媒美日韩av| 大屁股国产在线视频| 国产午夜精品一区二区三区牛牛| 无码国产精品午夜不卡(| 日本幼女18+| 97色97好| 亚洲伊人久久精品狠狠在线| 色男人色天堂东京热| 亚洲人妻色图| 精品人妻1区| 青春草莓视频在线观看网址| 搡老女人老熟女91老熟女综合网| 中文字幕免费看| 18禁的网站在线| 激情六月天| 精品无码一二三四区| 精品一区二区2| 国产精品黑人一区二区三区| 日本日皮视频逼| 69AV女优男人的天堂| 男生女生啊啊啊啊| 综合网亚洲在线| 亚洲h片在线免费观看| av婷婷色婷婷色六月| 夜夜操av亚洲一区二区| 精品一区二区三区蜜桃| 国产av强奸美女| 久久国产精品91| 精品人妻15区| 精品成人av一区二区三区在线| 97超碰色屌| 欧美综合网在线| av天堂手机版追回| 91超碰在线播放| 欧美亚洲首页| 五十路熟女人妻一区二区三区四区五| 蜜乳Av成人片网站| 久久久久久久 九九九九九九九| 俺也射| 狼狼色丁香久久婷婷综合五月| 搡老熟女老女人老熟妇免费视频| 久插不卡| 边做饭边操逼逼| 看一级黄色视频| 日日做夜狠狠爱欧美黑人| 97在线免费公开视频| 欧美成人9797| 亚洲图片欧美制度| 操国产高清| 日夜啪电影| 亚洲交性| 久99热| 女优大全 - 91n| 91无码中出人妻视频| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 日本中文字幕在线视频| 欧美激情黑人| 日本操BAV| 黑人粗大V S日韩女优视频| 婷婷丁香九月| 麻豆福利视频导航| 国产亚洲精品久久久久小| 二对二中文字幕。| 国产乱伦亚洲色图高清无码| 蜜臀AV成人精品蜜臀AV久久| 婷婷丁香九月| 熟妇亚洲一区二区三区| 熟女这里只有精品6| 青青草色情网站视频| 色就色综合| 夜夜爽夜夜摸夜夜操免费视频| 特级毛片特黄久久免费看| 嗯啊抽插大香蕉网页| 欧美91精彩| 黄片在线免费在线观看| 97干在线| 国产乱码精品久久久久久| 女人喷水视频在线观看| 这里只有97精品| 欧美欲色| 国产无码精品无码| 蜜臀在线免费观看在线免费观看| 精品人妻一区二区免费蜜桃| 人妻精品一区二区三区| 久久超碰免费的| 韩国三级理论在线| 日本中文熟女视频| 龙兴卡官方查询| 99这里有精品视频| 国产极品美女高潮无套在线观看| 91熟女在线| 精品二999| 女优视频第10页| 成人三一级一片aaa| 91亚洲欧洲| 国产高清在线自在拍69| 一区,二区,三区网站| 激情久久av一区av二区av| 国产精品久久久久无码Av网曝门| 日本ZZ高免费A级视频| 国产精品色哟哟| 天天日少妇逼AV| 狠狠久久手机视频精品| 久久性视频| 国产亚洲性生活视频播放| 欧美九九九| 日日日色色色色色| 97超碰色屌| 久久午夜伦| 欧美黄片视频在线观看免费| 青娱乐欧美激情一区二区 | 青青草色AV| 色妇91| 成人无码专区精品视频| 蜜臀av在线播放一区二区三区| 最近2019中文字幕国语免费版| 欧美在线永久天堂| 国产高清自拍| 一本久道久久综合狠狠爱一密臀精| 欧美中字不卡| 亚洲综合九| 天天日天天舔东京热| 日韩偷拍色图| 日韩一级二级| 久久久久免费少妇| 丁香久久| 大香蕉久久| 午夜丁香| 丁香激情五月天| 久久婷婷五月综合| 99热18| 欧美日韩成人在线| 婷婷99狠狠| 天天干天天做| 少妇一线天久久久久久| 在线观看一卡二卡| 日韩亚洲美女一区久久| 欧插网站| 少妇与黑人高潮在线| 色盈盈影院| 双插在线| 大香蕉92| 日韩欧美麻豆| 色欧美亚洲| 凹凸视频在线一区二区| 成人av性爱电影在线观看| 国内精品嫩模A∨私拍小视频| 日韩欧美福利视频看看| 亚洲欧洲综合成人av一区| 中文字幕奈奈美被公侵犯| 国产精品视频一区二区三区八戒| 91小视频| 99∨VTV| 日本不卡三级网在线播放| 校园春色亚洲欧洲| 自拍亚洲综合| 成人一二三区| 爱妃国产亚洲视频中文字幕| 国产av波波国产精品| 自拍大香蕉乱插| 99精彩视频| 麻豆婷婷成人一二三| 人妻少妇色综合| 久超碰这里只有精品| 欧美 亚洲 在线| 欧美区亚洲区偷拍区| 无码精品一区二区三区潘金莲| 欧美成人午夜免费福利785| 天天干天天干天天| 日本大香蕉| 亚洲综合色图欧美| 国产9 9在线 | 亚洲| 女人 A一级| 久久国产三区| 久久九操在线观看| 亚洲天堂欧美| 欧洲一级性爱视频在线观看| 天天操av懂色| 9997se| 69XX一中文字幕人妻91| 亚欧国产无码精品在线| 91色鬼| 大香蕉手机在线| 74成人在线| 亚洲综合色网| 国产乱青青草久久| 69视频入口| 5月婷婷6月六月丁香| 综合九九| 亚洲开心网| 久久久久九九九| 亚洲官网在线| 久 久无码人妻AV| 大香蕉免费乱伦视频| 97综合在线观看| 国产蜜臀精品一区二区尤物| 亚洲小电影免费涩涩成人在线高清 | 一区二区三区激情在线观看| 东北女人被操| 少妇综合| 色五月综合网| 久久久久婷婷精品av电影| ,成人免费啪啪视频| 男人的天堂啪啪| 久久精品无码熟妇一区二区三区视频导航| 综合激情二| 欧美性爱97超碰| 9 1果冻精品视频| 凸凹视频在线观看| 欧美论理片| 国产日韩手机视频在线| 久久久亚洲精品电影免费看| 国产午夜精品一区二区三区牛牛| 亚洲强奸乱伦影视网| 久久m| 正在播放国产精品一区| 亚洲、日韩、综合、另类| 久久精品无码专区| 中文字幕在线高清男人的天堂| 加勒比人妻综合| 狠狠中文字幕| 亚洲成人妻日韩在线| AV在线性爱| 综合天天网| 日本黄色大片一级视频免费麻豆| 欧美性暴力猛交XXXX | 国产欧美日韩精品中文| 麻豆精品三区视频| 日操粉逼逼| 天天躁夜夜躁狠狠躁AV| 五月丁香社区婷婷日韩欧美精品影院| 中出后入| 国人欧美精品一区二区| 亚州九九九精品视频| 欧美日本一区二区a人| 精品射1999| 亚洲欧综合另类无码一区| 日韩精品1区2区中文字幕| 精品九九淫乱男| 国产亚洲精品农村妇女| 亚洲素人网| 夜夜影视四色| 天天综合,91入口| 激情综合久久| 亚洲欧美另类图片| 久久手机好看网站| 老外又粗又长一晚做五次| 天天综合有色网| 国产成年精品高清在线观看91| 欧美 亚洲 另类 综合| 91艹B视频| 日本道人妻久久久在线不卡色视频| 7777欧美成是人在线观看| 美女t无毒不卡不卡| 3571色综合一区二区二区| 亚洲?V高清一区二区三区尤物| 和协无码影院| 亚洲色 国产 欧美 日韩| 亚洲欧美激情小说| 日韩无码嘿咻黑热久| 亚洲 小说 欧美 激情 另类| 久偷拍欧美日韩三区| 日本三级R| 久久国产成人精品国产成人亚洲| 免费9 1久久| 国产真实野战在线视频| 蜜臀AV午夜精品久| 亚洲综合99999| 日韩不卡av一二三| 尤物网站91| 日本孕妇孕交| 久久精精区一区二区一蜜桃一区二区| 人人人摸人人| 日本2020一区二区| 一区麻豆 高清中文字幕| 亚洲欧洲日韩国产自在线| 97超碰香蕉| 无毛精品| 国产日韩精品一区二区三区| 日本操嫩b网| 国产激情视频一区区三区| 91久久久老司机| 五月天丁香| 久草免费福利在线播放| 777超碰| 天天色怡春院| 久久精品小视频| 欧美日韩 强奸乱伦| 熟女人妻精品一区二区视频| 日本男人插女人的逼黄色| 涩五月婷婷| 黑人嘿嘿嘿超爽免费视频| w w w.久久精品| 日曰骚久久精品| 精品无码人妻一区二区免费蜜桃| 五月天婷婷影院| 91动漫操逼视频| 操B视频日韩无码| 97超碰超| 亚洲久草AV色图| 亚洲揄拍网| 中文字幕丝袜美腿| 日韩精品 资源| 久操不卡视频| 欧美日韩在线国产在线| 国产精品久久久久久亚洲色欲| 熟女少妇视频| 亚洲交换| 91 亚洲情侣偷拍 久久| 97色论| 91n美女视频| 欧美精品第3页| www.91久久| 日韩性爱高清免费视频| 操B在线观看| 亚洲制服aⅴ中文字幕| 日本熟女不卡视频| 在线视频亚洲无码| 亚洲欧美人妻| 蜜臀中文字幕| 97超碰日韩| 欧美碰碰综合色| 宅男影院久久久,99| 2017大香蕉| 久久久中文| 97在线视频观看| 97干色| 亚洲欧美色图片| 久久日本熟妇熟色一区| 人妻铁牛TV| 五十路熟女人妻一区二区三区四区五| 欧美性爱超碰97| 国产激情在线| 少妇无码999| 国产97在线 | 亚洲| 亚洲综合电影| 欧美性爽xyxOOOO| 国产精品午夜福利亚洲综合网| 91免费看一区二区三区| 人人爱人人乐人人操| 国产精品久久久久久久无码AV| 日韩免费福利在线观看| 74成人在线| 377p欧洲日本亚洲大胆| 91人妻素女| 亚洲经典啪啪| 一区二区偷拍拍视频| 色香色香欲天天天影视综合网| 日本精品人妻少妇一区二区| 闷骚老熟女15P| 久草男人天堂| 中文字幕色AV| 啊啊啊久久| 一区二区三区免费视频入口| 一级@啪啪视频| 免费簧片在线观看| 色九月| 人人妻人人操人人乐| 夜夜福利| 激情婷婷黑人91| 日躁天天爽爽| 吖在线不卡一区二区国产剧情| 亚洲精品天堂久久A∨51成人漫 | 成人热久久精品| 超碰无码五月97| 91在线观看,天天综合| 久久午夜色播影院免费高清| A片A5445444| 黑人无码一区二区| 9久综合网| 色婷婷淫色网| 东京太热男人的天堂久久久| 你懂的在线观看区国产| 久久久久久精品免费看A级| 色婷婷影院| 伊人久久大香线综合无码| 99精品在线| 日本操逼aaaaa| 一区二区娱乐网站| 黄色二级片网站| 中出20p| 精品亚洲一区在线观看| 无遮挡h肉动漫在线观看| 久久e6只有精品| 十八禁电影伊人网| 精品久久久av无码免费| 日本欧美国内在线| 国内操逼视频二区| 久久香蕉国产线看观看亚洲女人| 婷婷激情五月天小说网| 久久精品国产亚洲AV高清演员表| japan日本高清乱xxxx| 四月丁香婷婷| 国产精品久久久久久久黄无码 | 日日夜夜干| 中文字幕av丝袜| 深夜福利黄片| 免费一级视频特黄色大片| 欧美色图下一页| 在线不欧美| 人人色人人操在线| 国产噜噜噜噜噜久久久久久久久| 黄骗免费网站| 99热国产| 亚洲人妻久久久| 尤物网址| 狠插 制服 自拍| 久久产精品一区二区三区电影| 去干网最新版| 亚洲资源网| 无码精品久久| 欧美久久毛片基地| 中文字幕在线免费观看 | 中文字幕在线24| 色婷婷日韩精品一区二区三区| 黄色片一区二区三区四区五区| 日本天天吊| 97爱综合| 亚洲另类综合欧美| 三级色影综合网| 任你爽视频| 熟妇人妻一二三区免费| 色欲日韩欧美在线一区| 亚洲男人综合网| 国产精品美女在线一区| 日欧毛片久久| 性爱乱伦视频免费| 97色涩| 天天狠操| 白 大 人妻 区 在线| 91香蕉视频在线观看免费| 国产精品网站www| 综合影院永久入口国产| 中文字幕视频2区| 手机午夜电影神马久久| 中文字幕一区二区三区人妻少妇在线| 中文字幕丰满子伦无码专区在线视频最新| 欧美99| 9118禁| 熟妇视频一区二区三区在线观看| 97爱爱| 男人天堂久久日韩| 亚洲国产精品9999在线观看| 男人 天堂 日 亚洲| 人人操人人插人www| 丰满丝袜少妇AV| 亚欧国产无码精品在线| 中文字幕一区二区三区四五区| 五月婷婷激情综合| 色吧 综合| 二对二中文字幕。| 97在线观看播放视频| 午夜福利在线合集| 成人av动漫在线观看| 五月天伊人网| 日本亚洲vr欧美不卡高清专区| 妇女性内射冈站HDWWWCOM| 亚洲精品一区二区免费在线观看| 无码乱人伦中文视频| 欧美成人精品一区| 在线综合 亚洲 欧美中文字幕| 日韩中文字幕精品一区在线| 久久久久久裸体| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 黄视频免费| 中文字幕伊人| 天天日日夜夜| 国产精品ⅴ无码大片在线看.| 天综合网欧美| 久久天堂婷婷网| 日韩欧美午夜一区二区| 夜夜爽夜夜摸夜夜操免费视频| 精品视频久久久久九九九九9999 | 97频视在线| 激情五月婷| 大香蕉黄色一级片免费看| 九九久久国产精品怡红院| 女人妻一区| 在线v中文字幕一区二区三区| 97av在线观看| 青青操视频在线| 九九热免费国产视频婷婷伊人| 成人免费看吃奶视频网站| 成人草草视频| 麻豆伊人网| 伊人AAA| 国产精品婬乱一级毛片彝族| 亚洲在线a| 99re9| AV色五月天| 97一区二区蜜臀| 久久婷婷六月综合| 尤物网址| 精品人妻中文字幕高清| 青青草中出视频| 久久精品一区| 天天爽天天爽| 久久久久成人亚洲国产| 99婷婷一区二区| 97超级久久| 高清不卡 中文 人妻| 东北女人的毛片| 性欧美另类高清| 日本三级日本三级99| 在线免费观看日韩一区| 一区二区三区国产在线播放| 国产久9| 久久久久9999精品九九九| 精品四五区| 日本三级中国三级99人妇网站| 久久夜黄色无码A级大片| 丰满美女一级毛片在线播放| 91n欧美| 成人精品久久| 少妇内射视频| 久久久久元码视频| 久久蜜色情在线视频xxx免费观看| 日韩另类色图| 久久伊人大香蕉| 精品一区二区成人动漫| AV网站高清无码在线观看| yy少妇精品久久| 亚洲av总站| 欧美久久草熟女| 成人情色一区二区| 99视频在线| 国产又操| 干婷婷综合网| 8050无码八戒| 日本国产高清色www视频在线| 国产一区二区三区免费视频在性观看| 狠狠婷婷亚洲中文综合久久| 青草精品视频-日本久久久久网站| www.久久超碰| 蜜臀在线网站| 久草电影网| 伊人国产AV| 东京太热男人的天堂久久久| 91美女视频。| 久久内射| 日日摸天天爽夜夜欢| 免费精品无码一级毛片牛牛影视| 2019天天干| 狠狠操狠狠操操| a男人的天堂久久一级A毛片 | 亚洲日韩一区电影| AA丁香综合激情| 男人的天堂在线有码| 人人澡人人爽人人精品| 欧美激情 日韩精品| 四虎免费看黄| 啊啊啊啊啊好舒服视频| 东方亚洲在线操逼天堂|