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
返回資訊列表
97丁香视频| 欧美丰满熟妇BBB久久久| 日本三级日本三级三级人妇四虎| 亚洲综合色色| 香蕉久久av一区二区三区 | 国产44页| 五月天综合视频| 久久机只有这里精品| 99爱在线免费视频| 99 这里只有精品| 91色在线 | 日韩| wwwss在线观看| 五月婷婷丁香在线视频| 在线VA视频| 色99xx| 国产97色在线 | 日韩| 99在线免费视频播放| 日韩成人不卡| 亚洲色优| 亚洲永久免费| 婷婷射图五月天| 色噜噜五月丁香婷婷| 99网| 色综合网页| 色偷偷色婷婷| 五月天伊人av| 人人爱天天摸摸天天爱| 日本一級黃色一級片| 无码地址| 色婷婷色久综| 五月天天天色| 久久综合性| 色综合色色| 综合色天天| 农村熟妇高潮精品A片| 六月色国内综合| 色吧99| 91久久电影| 色久女| 色屌丝中文字幕| 久久人妻情侣| 五月开心激情| 色五月久久成人婷婷| 久久婷婷超碰| 久久大香蕉| 男人天堂亚洲综合| 六月婷婷香蕉| 色五月综合激情网| 另类视在线| 欧美欧盟性爱网| 国产99久| 五月天婷婷无码| 色色日韩| 涩婷婷视频快播人妻| 九九热在线99| 五月丁香婷婷深深爱| 九九色热| 69色婷婷| 91视频久久久| 精品婷婷五月视| 久草视频一,二三四| 99爱视频| 婷婷九月综合| 天天干天天色天天干| 国产真实乱了老女人视频| 这里只有精品69| 强伦轩人妻一区二区电影| 超碰碰碰碰| 六月婷婷在线| 日日干干天天干| 碰人人操| 日韩精品在线观看9| 九九视频这里只有精品| 婷婷激情六月视频| 天天日,天天插| 欧美天堂久久| 九月色婷婷婷| 99视频在线观看欧| 国产乱妇无乱码大黄AA片| 精品色色网| 超碰成人黄色网| 狠狠色五月| 国产婷婷婷| 五月丁香综合久久夜夜| 色婷婷综合网站| 1024日韩| 色综合色综合网| 五月草视频| 99视频久久免费视频| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 停停六月 综合| 综合一区二区三区| 天天日天天摸| 五月激情婷婷播播网| 97碰啪啪| 五月婷婷色影院| 天堂婷婷五月在线| 亚洲激情五月天| 五月婷婷激情| 国产精品A片在线| 无码激情AAAAA片-区区| av中文在线| 伊人青涩网| 中国丰满熟女A片免费观| 日韩啪啪视频| 999婷婷综合| 思思精品热在线| 色婷婷丁香五月高清在线| 久久久.COM| 丁香六月天婷婷| 综合AV网| 91re色综合视频| 九九色综合| 91一起操| 日韩AAAAA| 激情综合色网| 91久久婷婷| 国产精品色婷婷99久久精品| 1024操逼视频| 婷婷色九月| 思思热在线视频精品| 这里只有精品视频一区| 激情综合色婷婷六月天| 开心五月综合| 九月婷婷综合八月丁香在线观看| 丁香桃色综合网| 天天做综合| 丁香五月婷婷狠狠色| 激情四射网| 97干综合网| 伦99热| 伊人久热91| 久久婷婷五月综合色天| AV成人在线播放| 婷婷九月狠狠色| 黄色99热| 伊人超碰| 五月丁香婷婷在线综合蜜桃| 婷婷六月插屄激情| 婷婷丁香色五月久久88| 狠狠色噜噜狠狠狠狠综合| 五月天狠狠网| 丁香五月婷婷AV在线| 久久婷婷五月免费视频| 色狠狠综合网| 亚洲天堂爱爱| 亚洲午夜国产成人电影VA国产欧…| 婷婷激情五月综合| 深爱激情五月天| 色婷婷亚洲婷婷在线观看| 激情五月婷婷视频一区二区三区| 最新色色五月天| 婷婷久久丁香五月| 99无码视频| 99热在线观看| 东京热五月婷婷| 久久五月丁香| 伊人九九68| 色就色94欧美setu| 操操自拍| 色小说婷婷五月天天天| 婷婷五月天激情综合深爱| 五月婷婷大香蕉| 亚洲俩性性爱图片久久第六页| 色必久悠悠影院| 色综合开心五月深爱五月| www五月天激情com| 99热综合在线| 少妇性BBB搡BBB爽爽爽视頻| 婷婷五月天av小说| 久九九热| 激情丁香婷婷五月天| 五月天婷婷日日爱| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 丁香网五月网| 亚洲色图五月丁香| 精品一二三区久久AAA片| 国产亚洲99久久精品| 99热在线观看| 日韩少妇内射免费播放| 色玖玖网| 97色色婷婷五月天| 日韩综合大黄| 99在线精品观看99| 中文字幕人妻一区二区| 91人妻色色网| 激情六月综合| 丁香婷婷激情| 9久久久| 国产超碰人人| 99热骚货| 丁香色色网| 中文AV网站| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 天天日天天插| 久久您您综合网| 性生活视频98791| 九九色图| 超碰cap| 涩五月婷婷| 野战毛片三一3| 五月丁香综合网色欲| 婷婷五月天资源| 免费播放片大片| 天天摸天天高潮天天爽| 婷婷情色五月天| 五月天 综合 在线| 五月丁香激| www.五月天| 久久婷婷激情久久| 热99这里只有精品视频| 六月婷婷激情| 99九九综合久久九九| 久99久热只有精品国产99| 婷婷久久精品| 人人综合色| 欧美婷婷六月丁香综合色| 激情婷婷啪啪| 国产做爰视频免费播放| 开心久久xxx色| 久99热| 激情五月婷婷网| 久久 中文 日本| 99热这里只有精品国产免费| 激情婷婷色色| 五月婷婷综合影院| 色五月婷婷久久| 色情五月婷婷| 久久xx| 天天视频亚洲| 狠狠爱深色婷婷综合| 五月丁香色色| 久久综合激情婷婷激情| 五月丁香成人网| 国产欧洲欧洲精品久久| 97久久五月丁香婷婷| 日本va视频| 人人干av| 欧美天天爽| 伊人久久大香线蕉av最新| 怡红院AV亚洲一区二区三区H| 人妻综合网| 色综合色色色| BlACKEDRAW视频一区二区| 包操45分钟网站| 亚洲中文字幕av| 热久久色| 91婷婷搞| 综合色影| 五月丁香在线婷婷蜜桃| 亚洲精品久久久久久久久久吃药| 婷婷五月天国产精品| 激情人妻综合| 99九色视频在线观看| 第四色婷婷日本| 日本在线va| 91丨九色丨老熟女激情| 久久成人人妻| 丁香花社区av| 丁香六月激情综合啪啪| 精品9l九九九九九77777| 精品综合五月| 九九精品9| 色婷婷丁香五月色综合网| 色婷婷综合网| 五月丁香999| 亚洲精品久久久久AV无码| 久久丁香五月综合六月激情红杏视频| 99热只有这里有精品| 这里只有精品视频222| 久热伊人| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 99综合视频| 久久99精品久久久久久青青AR| 五月婷婷,六月激情| 亚洲超碰在线| 天天噪夜夜爽| 噜噜久| 激情久久伊人| 色婷婷AV久久久久久久| 久久婷丁香五月| 另类激情综合| 色婷操逼| 99热66| 久久99这里只有精品| www.夜夜操.com| 美女五月激情| 五月丁香久久激情综合| 天天综合久久| 色婷婷基地在线| 欧美色色色色色| 亚洲四色五月| 久久综合性| 中文字幕婷婷五月天| 九月婷婷综合| 丁香伊人综合| 中文字幕婷婷在线| 激情五月丁香五月| 午夜婷婷| 日本天天色| 婷婷色色丁香五月天| 激情色色| 亚洲精品性色| 97色女人在线| 五月丁香六月激情综合| 最新丁香六月婷婷| 久99热在线观看| 丁香婷婷五月| 天天视频亚洲| www.婷婷五月| av大片在线| 啪啪亚洲综合| 久久婷综合网| 久草婷妨| 色综合激情图区| 99色综合| 丁香六月狠狠干| 婷婷七月丁香色色| 大学生高潮无套内谢视频| 99热热九九| 99久久超级| www.maotanji.com| 99热这里精| 99热在线爱| 亚洲综合五月天婷婷| 日日操夜夜爽天天天| 五他月天啪啪啪| 午夜大香蕉| 久久五月婷婷开心网| 色色色色区| 99久久婷婷国产综合| 丁香五月婷婷欧美成人色图| 综合色色网| 天天综合网在线| 色碰干| 亚洲视频一区| 国产性爱一级| 天天干天天射综合网| 丁香六月综合激| 色婷婷色久综| 亚洲精品久久久久久久久久吃药| 婷婷激情欧美| 五月天激情黄色小说在线观看| 99久久99久久综合| 涩综合网| 婷婷丁香18| 欧美日韩99| 97碰碰草| 蜜桃人妻无码AV天堂三区| 久碰视频| 99在线69| 欧美日韩成人免费在线| 激情五月天第四色| 一本大道嫩草AV无码专区| 天天五月情| 香蕉综合网| 99久视频| 激情纯色婷婷五月天在线不卡视频| 亚洲婷婷五月天| 激情五月天视频| 五月婷六月| 五月婷色啪| 色综合久久888| 中文字幕久久一区二区三区| 色婷婷丁香六月| 五月婷婷激情啪啪| 三十熟女| 人妻av在线| 涩综合网| 婷婷五月天精品| 南京搡BBBB搡BBBB| 热99国产精品| 97婷婷在线视频| 69超碰在线| 五月天婷婷在线AN| 91超碰在线观看| 婷婷色正月| 亚洲 无码 中文字幕 中出| 狠狠操狠狠爱| 综合网色| 久99久在线| 六月婷婷网| 西西4r午夜剧场| 99色色| 亚洲视频99| 国产精品日日躁夜夜躁| 中文在线成人| 五月激情小说| z色五月播播久久| 插插网爽妇五月丁香| 婷婷亚洲综合| 色婷婷基地| Caoporn公开| 99视频在线观看地址| 久操婷婷| 最近中文字幕大全免费版在线| 天天干狠狠| AV在线免费播放| 色色无码| 超碰91人人操| 色综合色色| 人妻在线网站| 五月婷婷av在线| BBWCUCKOLD精品熟妇| 九九色色网| 久久婷婷五月丁香网| 婷婷六月色开 | 大香蕉五月天| AV在线免费网站| 中文字幕精品在线观看| 国产在线黄色| 日本五月婷| 高清a片基地| 五月天另类图片| 99这里都是精品6| 五月五月婷婷| 婷婷精品性性性性性性性| 中文字幕黄色片| 伊人网大香| w婷婷五月婷婷w| 色综合久| 国产成人AV| 五月综合婷婷久久在线| 婷婷五月深情丁香深爱日韩| 性爱五月婷| 9久操| 91人碰| 香蕉操亚洲| 伊人超碰| 99成人网站| 九玖欧洲亚洲| 五月激情六月丁香| 天天色播| 女人高潮内射99精品| 大战熟女丰满人妻AV| 国产无套精品一区二区| 亚洲乱啪| 九九99热| 欧美激情丁香五月天久久婷婷一区| 中文字幕日韩无码制服诱或| 五月婷婷丁香瑟瑟视频| 99re免费精品视频| 96精品成人无码A片观看金桔| 久草x色在线观看99| 久久婷婷六月综合综合| 久久99免费视频网站| 五月婷婷激情网| 美臀自射自家人妻| 亚洲无码AV片| 丁香五月五月婷婷五月天激情四射| 97性视频| 丁香五月WWW| 色情五月| 婷婷六月丁香综合| 久久金品黃色| 久热这里只有精品6| 五月天色综合| 夫妻超碰在线| 婷婷六月丁香开心深深爱| 丁香亚洲婷婷五月| 激情伊人五月天| 久9免费视频| 91婷婷五月天嫩女| 99热九九这里只有精品| 亚洲无码性爱| 日本久久婷| 狠狠一日| 大香蕉五月天婷婷| 激情人妻蜜夜系列区| 性爱人人网| 只有精品视频在线观看| 亚洲VA在线| 狠狠爱五月婷婷| 开心五月天激情网| 久久色9| a69在线视频| 婷婷五月综合啪| 亚洲成人一区| 人妻22p| 1769在线观看欧美国产| 五月丁香婷婷伊人| 久久久中文| 草逼大片| 国产毛片欧美毛片久久久| 免费亚洲成人电影AV| 激情四射网| 激情婷婷另类| 九九亚洲| 99视频热| Av在线不卡一区| 色色色色色色网| 国产精品电影| 久久精彩视频99| 夜夜爽天天| 狠狠狠色激情综合适合| 中美日韩成人在线| 色综合激情图区| 日韩 mm 不卡| 天天综合天天玩夜夜玩天天玩夜夜玩 | 一本色综合色| WWW免费视频碰碰碰碰| 天天插天天很| 99狠狠色| 婷婷综合另类| 狠狠插日日干撸| 色色亚洲| 五月天婷婷狂暴白浆| 中文无码婷婷| 爱操天堂| 青草五月天| 无码激情| 九九热超碰| 色婷婷五月综合在线| 婷婷五月天伊人网| 开心 五月 综合| 天天揷综合网| 亚洲五月停停| http:色情日本com| 美女婷婷激情亚洲| 婷婷天堂综合| 五月亭亭直播| 成片免费观看视频大全| 激情小说五月天| 亚洲精品久久久无码| 日本女人久久| 婷婷操逼| 91精品久| caop在线| 大香蕉伊人99| av在线免费网站 | 亚洲日韩一页精品发布| 五月总合激情网| 天天操加勒比| 亚洲 视频 导航 一区| 五月天狠狠网| 亚州婷婷五月激情综合| 婷婷无码五月天| 另类亚洲电影| 欧美一区二区三区不卡影视| 免费无码毛片一区二区A片| 第四色激情网| 综合久久影院| 中文字幕在线播放视频| 99精在线| 五月天激日本色情在线| 国产做A爰片毛片A片美国| 免费的日逼视频| www.yw尤物| 国产成人综合网| www.zbzhongsen.com| 超碰人人操人人干| 久久婷婷五月天| 五月丁香成年黄色| 国产无人区大片| 超碰在线免费9| 日本久久婷婷| 热99国产精品| 五月丁香婷婷综合| 国产高清RV综合aVa| www99精品日韩| 99热这里只有精品一区| 中文字幕在线人妻| www.com五月天| 丁香五月综合首页| 日本美女上人| 91久久1118| 久久婷婷五月天蜜桃| 天天做天天爱天天爽综合网| 亚州操逼网| 五月婷婷欧美| 婷婷色在线观看| 色五月激情五月开心五月| 99免费青青蜜臀| 久久最新色| 久久99久久99精品免视看婷婷| 99热这里只有精品8| 婷婷久久五月天亚洲欧美国产日韩在线观看| 色色99| 情涩婷婷五月天| 丁香婷婷午夜| 久久五月婷| 五月丁香激情五月天| 免费无码毛片一区二区A片| 五月天婷婷黄色| 无码动漫AV| 婷婷五月av| 日本www五月婷婷| 久久久久9久无码视频| 色欲一二三| 99热青青草| 九九热视频在线观看| 另类图片婷婷五月天| 99热热热国产超碰| 91婷色| 欧美va亚洲va| 久久ri精品视频| 激情五月天社区| 日本综合色图| 九九热a| 天天射天天射一道本日本社区 | 综合伊人久久| 婷婷综合久久综合| 狠狠色网| 99精品免费欧美小视频 | 天天噜噜| 丁香五月成人婷婷| 人妻久久久久久| 色99视频| 99热只有| 色一情一乱一乱一区9| 97操操操| 激情网五月婷婷| 五月婷婷插一插| 中国女人做爰A片| 日本一级一片免费视频 | 丁香激情合作五月| 成人在线二区| 久久久人妻不卡| 人妻视频一区而且二区| 五月丁香天堂网| 婷婷五月天成人网| 婷婷激情久久| www.婷婷五月| 热久久这里只有精品20| 久久久大香蕉| 亚洲成人免费电影| 久久桃花网色婷婷| 丁香五月成人社区| 中文字幕性爱丰满| 综合激情五月丁香| www.操逼comm| 91久热| 色色色视频| 情色五月天 网站| 丁香五月婷婷激情四射深爱激情| 色婷| 美臀自射自家人妻| 91久久九九| www99热| 婷婷播5月| 丁香丁婷五月激情| www.综合久久.com| 91碰免费视频| 亚洲视频在线观看| 五月天激情电影| 五月婷婷在线视频观看| 丁香色情五月综合网站| 99久在线精品| 超碰伊人碰婷婷五月| 日韩成人精品中文字幕| 在线观看免费狠狠色丁香香综合| 日本五月丁香| 激情综合自拍五月婷婷色五月| 日本久久人| 五月丁香久久久| 色五月首页| 99ri在线视频| 五月婷婷片| 色大综合| 思思色综合网站| 亚洲五月丁香综合网| 色色色色色色色色色色色色色五月天| 91色性感五月婷婷丁香| 成熟妇人A片免费看网站| 5月丁香啪啪啪| 成人电影在线免费试看| 天天爱天天爽| 香蕉人在线香蕉人在线 | 婷婷五月天啪啪| 久久久久人无码人妻| 色综合xx| 99re这里只有精品免费| 激情色中文| 激情综合啪啪啪| 先锋五月婷婷丁香草草| 欧美五月婷婷| 久久香视频| 亚洲精品**不卡在线播he| 在线18av | 国产看真人毛片爱做A片| 91性高潮久久久久久久久| 五月天婷婷免费| 色五月第四色| 天天综合中文| 欧美精品18| 五月丁香综合网| 婷婷激情五月天小说校园| 久久亚洲精品成人无码网站导航| 五月天·www·com| 噜色精品| 五月四色婷婷| dingxiangtingtingliuyue| 六月丁香激情婷婷| 亚洲激情婷婷| 大香蕉久热| 亭亭玉月丁香| 欧美黄色韩日网| 五月婷婷婷综合网| 中文字幕丰满人妻无码专区| 欧美日韩日韩成人| 中文字幕,综合,91| 日本九九视频| 久热伊人| 天天操天天日天天爱| 日操| 五月丁香六月欧美| 欧洲免费视频色| 九九这里都是精品| 99视频九九热| 久久作爱| 九九在线视频| 青吴乐视频| 五月伊人婷婷999| 久久在线92| 日本久久天堂| 婷婷五月天少妇| 伊人9999| 久久精品人妻| 五月亭亭六月天| 成人精品一区日本无码网| 俺去也婷婷| 玖玖婷婷免费| 婷婷五月激情欧美大胆视频| 97日日碰碰| 亚洲色图五月丁香| 婷婷激情丁香五月天综合| 婷婷五月天人妻| 五月天婷婷永久免费视频| 婷婷五月亚洲一本在线丁香| 婷婷五月天激情网| 日韩黄在免| 美国不卡视频| 欧美五月丁香在线| 俺去也五月| 激情性爱五月| 香蕉人妻AV久久久久天天| 久久六月综合| 99啪在线| 五月花综合| 26UUU欧美激情一区二区| 五月天中文字幕在线婷婷| 五月婷激情| 丁香婷婷六月天| 婷婷情色五月天| 九九热免费视频| 丁香五月婷婷影院| 五月婷婷丁香综合| 国产亚洲精品久久久久久郑州| 婷婷的99视频网站| 人人插操| 欧美日韩123| 五月伊人视频在线看| 99亚洲色色| 激情婷婷五月天日本系列| 五月天婷婷AV| 欧美性做爰大片免费看办公室| 97五月天婷婷综合激情网| 丁香六月婷| 色综啪啪网| 狼人婷婷综合| 激情五月天网页| www.五月天婷婷| 乱乱av| 极品少妇婷婷五月| 91精品电影18T| 99视频只有精品| 草草夜夜操| 9精品在线| 日本99久久| 久久99免费视频| 综合久| 人妻爽爽爽久久久久久久久| 五月婷婷综合丁香视频| 青草青草视频2免费观看 | 久久激情综合| 久99久在线观看| 狠狠干.com| 九九热这里只有精品556| 成人丁香五月| 欧美特大片黄| 久久视这里只有精品| 五月天另类激情在线| 中文字幕精品无码一区二区| 久久99久久99精品免视看婷| 久久久er热| 五月婷婷熟女| 婷婷影院欧美| 色五月天激情| 啪啪91| 91男同| 五月婷激情| 91精品久久久久久综合五月天| www、丁香五月天| 性生活视频98791| 婷婷五月天伊人| 成人亚洲精品| 天天日,天天插| 亚洲乱码日产精品BD| 亚洲VA欧美VA| 狠狠干狠狠色| www.久操| 天天爱天天做天天舔| 91精品无码| 变天就操逼婷婷五月| 最新五月天婷婷影| 激情深爱五月天| 久久免费精品小视频| AAAA网站| 日本精品人妻无码77777| 欧美噜噜免费观看| 五月天婷婷激情小说电影| 91干在线| 182TV大香蕉| 国产色99| 六月婷婷开心| 日韩AV在线免费| 日韩五月婷婷| 97碰啪啪| 91色干| 久久久久久人妻| 成人一区在线观看| 99热这里只有精品2| 丁香九月色| 婷婷丁香色五月久久88| 99久| 一根材五月婷成人| 天天舔天天爽| 六月婷婷六月天天在线免费| 色播五月婷婷| 五月欧美色播| 五月综合激情| 丁香五月天.com| 991国产精选视频在线播放下载| 三人荫蒂添的好舒服A片| 六月丁香啪啪啪| 伊人久久艹| 色玖玖导航| 五月天成人在线播放| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 欧美色九| 五月丁香婷婷综合| 天天久久狠狠色综合| 色五月婷婷色| 婷婷中文在线| 丁香五月激情综合| 9精品在线| 色五月天婷婷| 六月色婷婷欧美| 亚洲乱码日产精品BD| 狠狠色噜噜狠狠狠888了| 九九九九九九热| 一起草性爱不卡视频| 激情五月天99色| 婷婷五月天天爽| www.99视频| 色色热| 五月丁香久久丝袜啪啪| 狠狠综合久久综合| 婷婷五月色综合| 97色婷婷成人综合在线观看| 国产99久久久国产精品免费看 | 五月色欧洲| 操逼综合激情网| 热久久91| 激情六月色| 色情五月天婷婷| 97久久人人人干| 超碰av在线| 婷婷爱综合| 天天日天天爽| 26uuuuuuuu国产| 欧美天天草人人草| 99热999| 播五月开心婷婷欧美综合| 欧美电影在线观看| 99热99热不卡| WWW.99视频| 99这里只有精品| 婷婷五月天亚洲图片| 九月影院義母在线播放| 人人操碰| 99视频综合| 青青草五月天| 天天天天操| 色狠狠综合| 国产Va视频| 99热6这里只有精品| 激情五月综合第一页| 五月丁香青草综合啪啪| av线电影| 久热9| 九九热这里只有精品在线观看| 九九色大香蕉| 精品色色| 五月丁香六月婷婷色| 久久婷婷五月综合色和| 色五月婷婷av| 欧洲激情网站| 国产探花一片区| 天天日,天天插| 天天拍夜夜爽日日| 99色婷婷| 婷婷五月天堂| 久色欧美| 久久五月丁香| 91se在线观看| 啪啪 综合网| 第四色五月天| 五月婷婷五月天激情视频| 激情网五月天| 亚洲精品乱码久久久久99| 99热在线观看99| 五月激情影院| 日本久久爱| 丁香蜜臀黄色婷婷五月天| 99久在线精品99re8热| 天天插天天插天天插| 日本久久精品18| 中文字幕在线aⅴ免费观看| 9色在线视频| 天天综合网网欲色| 激情综合女人网五月播播| 日韩啪图| 91无码色色| 色婷婷综合网| 亚洲激情五月天| 狠狠色丁香99| 婷婷综合色色| 五月天网址在线刘玥| 九九热中文| 第四色婷婷五月| 亚洲人妻av| 国产偷人爽久久久久久老妇APP| 五月综合丁香婷婷| 日本五月天一页| 26uuu国产色| 欧美天天干五月丁香| 久草 tingting| 五月婷婷开心丁香| 精热在线综合网| 婷婷情色开心五月天99| 日韩99视频| 免费播放99性爱视频| 色色五月天激情| 五月婷婷九九久久| 91大操| 少妇性按摩无码中文A片| 99热只有这里才是精品| 激情深爱婷婷网| 狠狠人妻色综合| 99在线资源视频| 欧美色五月| 狠狠干无码| 生活片五区| 欧美日韩aaa| 久久色这里只有精品| 99精品偷自拍| 97操男人的天堂| 色色五月丁香婷婷| 激情五月婷婷综合色播小说| 综合激情婷婷| 婷婷影院欧美| 91九色国产在线| 六月丁香VA| 国产三级片91| 色999亚洲人成色| 精品亚洲国产成AV人片传媒| 激情五月成年| 五月丁香六月婷婷的女人| 99热 精品在线| 激情丁香社区| 色黑鬼导航| 91人人网| 国产婷婷综合在线免费视频| 婷婷丁香成人五月天| 午夜福利成人AV91| 欧美性生交XXXXX无码小说| 久久婷婷五月综合| 狠狠草狠狠草| 涩涩涩五月天| 色狠狠激情五月| 婷婷五月天成人在线视频| 激情五月天福利| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 91九色国产在线| 欧美日韩成人免费在线| 色激情五月| 九色七七| 亚洲不卡| 婷婷五月天在线看| 777久久综合视频| 广东99色在线| 狠狠色丁香99| 九九热区一区二区三区| 欧美综合五月丁香五月天| 婷婷成人综合免费视频| 日韩婷婷五月天| 色青五月天| 噜噜噜精品欧美成人在线观看| 超碰免费大香蕉| 97AV在线视频| 激情五月天黄色小说| 激情五月图| 伊人超碰| 国语精品探花| 欧美性爱5月天天天看| 色色COm| 亚洲视色| 色五月天电影| 99色热| 爱久综合| 久久婷婷影院| 少妇AB又爽又紧无码网站| 婷婷在线中文字幕| 丁香婷婷五月色综合| 97人人超| 深爱五月天| 色综合色综合网| 开心婷婷五月| www.99热| 成人va在线播放| 亚洲V国产V欧美V久久久久久| 777影视理论片大全在线观看 | 婷婷五月在线视频| 久久se 综合网 | 久久99这里只有精品视频| 99这里有精品视频| 久草大| 2023天天日夜夜爽| 99婷婷五月天激情| 9色在线| 色五月天成人| 多精窝99在线视频| 99热伊人综合| 久久在这里99| 丁香涩涩五月天| www.91操| 日日夜夜九九| 开心婷婷五月| 色黑鬼导航| 成人版视频在线观看| 五月丁香啪啪啪| 色婷婷综合网| 激情深爱综合网| 成人视频九九| 九九热精品| 九九九九这里只有精品| 色六月天| 亚洲婷婷免费| 色婷婷免费观看| 精品一二三区久久AAA片| www.色情五月天.com| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产成人AV在线播放| 日本99色| 激情五月综合色婷婷| 综合网狠狠| 久久一级AV| 欧洲电影在线观看免费版英语版 | 亚洲精品午夜国产va久久成人| 成人午夜天| 国产又爽又猛又粗的视频A片| 色色色色色五月| 丁香五月六月久久综合 | 五月丁香六月激情综合| 99热在线网站| 六月婷婷激情| 99爱无码| www.97视频| 五月婷婷色啪| 九九热这里只有精品7| 99综合婷婷五月| 七七色色综合| 99视频内射三四| 99这里都是精品| 精a品a视a频| 激情网五月天| 极品五月天| 五月天 综合 在线| 99热精品在线| 久久美女五月天| 大香蕉五月丁香| 99热最新国内| 久久精品国产色| 精品综合久久久久久五月天| 婷婷五月色综合| 五月丁香综合激情| 中文字幕性爱视频| 人妻操在线看| 中文av网| 婷综合六月| 日本狠狠爽| 五月激情久久综合网| 天天日天天插| 97超级碰碰碰| 国产精品蜜臀99| 久9视频| 亚洲在线成人| 亚洲婷婷激情888精品久| 人人操AV| aaa久久| 日韩AV大全| 亚洲综合五月天婷婷丁香| 丁香五月婷婷亚洲色图| 丁香九月婷婷色| 国产毛片精品一区二区色欲黄A片| 婷婷射图| 久热只有精品| 六月色 亚洲| 日韩按摩二区| 亚洲视频在线观看| 天堂久久性| 婷婷成人五月天成人文学小说| 九九在线热九九在线热99热| 超碰成人av| 五月婷婷六月丁香在线视频免费在线观看| 天天天天天天操| 婷婷99视频精品| 99激情| 婷婷五月丁香激情| 欧美婷婷五月激情| 婷婷激情五月综合在线视频| 99热综合网| 激情都市另类| 婷婷色在线| 婷婷色5月激情网| 久久久精品色| 中文字幕操比影片| 成人看片网站| 午夜电影网VA内射| 婷婷五月天激情小说| 热99色| 色色日韩网| 丁香五月激情视频| 五月丁香久人妻中文| 开心 五月 综合| 激情超碰网| VA国产在线综合网站| 色色色色色色色色网站| 色色免费网站| 久久久久亚洲AV无码网影音先锋| 97人人干视频| www.夜夜騎夜夜狠| 开心五月深爱五月| 日韩婷婷五月| 色五开心五月五月深深爱| 婷婷五月色播天| 婷婷五亚洲| 色婷婷播放| 伊人啪啪网| 新激情婷婷| 婷婷丁香综合成人| 亚洲正能量欧美| 人妻内射麻豆视频| 亚洲日韩一页精品发布| 日本激情ⅩXX免费视频| 欧美在线视频99| 国产小网站| 欧美色97| 二级黄色毛片| 九九婷婷综合| 九九黄色网| 99成人| 在线五月色播| 日韩黄在免| 亚洲五月天婷婷在线| 婷婷免费视频| 亚洲欧州色情在线观看| 人妻Av在线| 五月天婷婷色综合| 日本色色网站| 色人久久| 五月婷婷无码| 99ri视频| 玖玖福利视频资源| 婷婷天天五月天| www婷婷| 99热国产精品| ri电影在线| 综合天堂AV久久久久久久| 亚洲欧州色情在线观看| Av中文在线| 色婷婷色99国产综合精品| 久久九九玖玖| 丁香色五月 97干| 亚洲精| 性爱网六月丁香| 五月丁香婷婷色色| 久久婷婷五月草视频在线播放| 99色热综合| 开心五月婷婷| 开心婷婷中文字慕| 99久久9| 五月婷婷丁香色播网| 97婷婷狠狠久久综合9色| 丁香六月欧美| 五月开心啪啪| 色婷婷在线影院| 五月丁香婷庭在线| 万月丁香狠狠爱| 五月丁香好婷婷姑娘综合网| 牛色色碰| 六月丁香五月天| 成人在线日韩欧美| 激情图片五月天| 热99只有精品| a色婷婷| 天天爱天天做天天操| 婷婷99中文字幕| 免费观看全黄做爰的视频| 婷婷天天插天天爱| 五月天大香蕉视频| 五月丁香婷婷综合久久| 久/久精品99看9| 九九色中文| 五月激情小说| 婷婷五月丁香综合人妻| 一片AV片免费播放| 六月丁香啪啪啪| 久久伊人婷婷| 国产高清av黄色看片| 天天成人丁香美女AV| 激情九月综合| 黄页免费一级视频懂色| 99丁香五月婷婷在线| 色色影院黄大片| 久99久视频| 青青福利网| 狠狠色97| 99在线精品免费视频| 99视频在线| 五月婷婷久久大香蕉| 91人人人人人| 五月婷婷丁香五月 | 激情www| 久久永久网址| 婷婷丁香五月天熟女丝袜| caop在线| 色色色色色网站| 久热九九| 五月激情综合性爱| 狠狠色噜噜狠狠狠888| 深爱婷婷丁香五月激情| 婷婷香五月| 九色自拍| 色欧美一级| 色婷婷欧美| 26uuu最新地址| 色色啊| 92国产福利| 欧美成人一区二区三区在线视频| 六月撸婷婷| 91丨九色丨东北熟女| 另类少妇人与禽zOZZ0性伦| 五月天丁香成人| 丁香六月天婷婷色| 久久婷婷成人| 99啪视频在线观看| 国产精品第一国产精品| 天天综合网91| 6080av| 亚洲婷婷视频| 偷拍91九色| 五月婷久久综合| 国产真实乱对白精彩| 色综合色色色|