日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
亚洲国产成人高清在线| 久久性爱城| 久久三| 婷婷六月天| 亚洲少妇色图自慰直播| 欧美色图综合| 狠狠穞A片一區二區三區| 大香蕉天天看妹子| 97色欧州| 婷婷婷婷婷婷久久久久| 色色五月天婷婷| 久噜噜| 国产无码久久高清| 亚洲熟妇图片| 中文字幕精品探花视频| 99精品无码| 韩国三级理论在线| 91性| 92午夜免费福利视频| 天天干天天日天天射黄色片| 日本一二区不卡| 九九亚洲视频| 色妇综合网| 婷婷六月色开| 91亚洲精品青草| 東南亚性呦成人伦理资源在线视频| 丰满人妻无码一区二区三区| 99热18这里只有精品| 又粗又长又爽在线观看| 伦在线97| 日韩黄色一区二区三区| 少妇高潮一区二区三区在线| 九九色精品| 精品国产a∨一区天美传媒| 免费av大片| 国产亚洲色婷婷99精品91| 亚洲av综合伊人久久| 日韩99999色| 国产精品ww久久| 精品久久久久黄少妇| 日本淫乱女一区二区三区视频| 久久久久久亚洲精品不卡人乳| 97久久超碰亚洲| 婷婷五月天激情四射| 另类小说五月天| 中文字幕制服诱惑| 亚洲男人的天堂一区二区| 91精品人| 国产视频小说| 天天干人妇| 欧美激情 亚洲色图| 91麻豆天美国产欧美| 97爱综合| 欧美在线大香蕉| 大香蕉欧美国产日韩高潮| 日本三级一区二区 在线| 天天躁狠狠躁av| 99热这里只有精品地址| 精品视频一区二区| 97超碰精品成| 91大胆欧美| 99精品丰满人妻| 欧美亚洲另类在线蜜桃| 超碰在线一区二区| 精品176精品2| 久操婷婷| 欧美A片中文字幕| 亚州精品丝袜-不卡成人免费| 亚洲国产91精品一区二区久久| 涩涩久久精品| 综合久欧洲| 国产一区二区三三视频| 十八禁黄色| 玖玖视频在线资源一区二区三区| 精品中文字幕第一页| 狠狠狠狠狠干| 精品超碰国产| 欧美一区二区日韩三区| 97超碰欧美中文字幕| 蜜桃视频精品一区二区| 手机在线A片| 精品久久97观看在线视频| 亚洲一二三四区机械| 亚洲无码一二三区| 狠狠91| 国产AV线| 日本免费不卡二区| 丁香六月激情综合| 国语国产操逼伊人AV网| 午夜成人爽爽爽爽A片李冰冰| 男人的亚洲天堂| 深爱激情五月天| 91成人高清在线观看| 青青草原av| 国产精品视频内谢女人| 天天躁日日躁狠狠狠躁| 亚洲精品不卡一二三区| 伊人操操| 中文字暮97| 国产精品探花视频| 日本 色 导航| 国产亚洲精品美女久久久久久2021| 日韩人妻丝袜中文字幕| 久久久久久九九九九九九| 欧美久久毛片基地| 精品无码久久久| 2018色综合天天操| 一区二区三区 日韩欧美| 激情文学88| av中文在线| 国产 亚洲 丝袜 制服| 百度百度日本操逼| 视频国产欧美在线播放| 四虎免费在线观看| 国产日本一区二区三区蜜臀在线观看| 凹凸 69堂 在线播放| 九九国产| 亚洲无限观看| 情侣操 逼视频99| 伊人久久在线视频观看| 91天堂色男人的天堂| 午夜精品久久久久久久久久蜜桃| 欧美福利视频啊啊啊啊| 岛国免费视频在线| 日韩欧美操逼xxx| 97视频在线播放| 91精品导航| 18禁超污无遮挡无码免费网| 欧美一区二区观看在线| 亚洲 图片 综合91| 91肏屄网| 欧美中文狠| 五月天色电影| 天天躁狠狠躁av| 神马久久69| 亚洲精品一区二区免费在线观看| 天堂涩涩| 少妇熟女视频一区二区三区| 加勒比综合88| 香蕉人欧美综合| 啪啪综合网| 婷婷丁香激情| 尤物网址| 大香蕉五月天婷婷| 国产馆极品诱惑| 亚洲AV乱码专区国产噜噜亚洲| 84YTCOM性无码| a片自拍直播视频| 一区二区三区国产在线播放| 日逼视频日本| 亚洲男人的天堂亚洲| 色999亚洲人成色| 97超碰69| 九九九九九九九九九五码| av东京热男人的天堂| 超碰97在线色男人??| 超碰社区97| 人妻欧美| 欧美精品1区2区3区| 综合婷婷| 极品粉嫩少妇视频| 蜜桃传媒视频第一区入口在线看| 人妻精品一区二区| 在线观看 99热| 日韩欧美麻豆 | 色噜噜狠狠色综合日日| yirendaxiangjiashipin| 丝袜美腿校园春色| 99热婷婷一区二区三| 肉动漫无遮挡h在线观看| 亚欧成人综合影院| 爱我干综合| 一个人在线看的黄色电影网站| 狠色婷婷久久一区二区三区_| 偷拍欧美亚洲| 波多野结衣被操50分钟免费视频 | V A在线| 新婚人妻扶着粗大强行坐下| 九九九九九九亚洲| 蜜臀Av一区二区三区| 黑人娇小av在线播放| 亚洲国产成人精品久久久国产成人一区二区三.| 成人情色综合网| 亚洲欧美999| 嫖老熟女A片一二三区| 熟妇熟女视频一区二区三区| 最新9久久久9免费视频| 亚洲97网站| 天天视频黄| 国产成人+综合亚洲+天堂| 97在线欧洲| 超碰精品97| 国产AAAAAABBBBB| 日韩三级视频一区二区三区| 天天草AV| 极品色www影院| 91福利网在线观看| 超碰91在线| 超碰97欧美日韩| 人妻一区二区三区四区视频| 久久9久9久99久9久9| 色婷婷日韩精品一区二区三区| 福利视频香蕉免费一区二区在线| 欧美久热| 黑人综合色| 制服丝袜第二页| 12一15性XXXX粉嫩国产| 蜜臀久久99精品久久久老,,| 九九九九九九精品| 性色av婷婷久久一区二区点复制| 乱操9999| 丁香五月天社区| 久射吧| 成人乱码一区二区三少妇| 黄色高清久久无码依人| 久久精品国产亚洲AV高清演员表| 97国伦国色| 欧美在线91| 天天欧美欧美亚洲网| 91亚洲图片| www男人天堂| 国产又大又硬又长又粗| 久草综合网| 立川理惠加勒比无码| 久久同城AV| 97人人操人人摸人人爱| 色网在线| 狠狠色婷婷7777久| 中文 人妻 制服| 亚洲人人操| 人妻一区二区三区熟女| 嗯阿好爽好紧| 国产日韩区| 蜜桃一区二区三区| 久久精品国产72国产精品福利| 亚洲欧美日韩中文久久自慰| 91色综合| 日韩97视频| 丰满少妇乱子伦精品无| 操国产逼| 日韩内| 九九热免费国产视频婷婷伊人| 91欧美网| a人欧美综合天堂麻豆| 亚洲国产精品有声| 青草伊人网| 综合网欧美在线| 91精品丝袜久久久久久无码人妻| 欧美aaaaaaa| 玖玖爱伊人玖玖爱| 亚洲av在线免费观看| 午夜亚洲WWW湿好大| 99国产精品久久久在线播放| 无码免费精品高清| 久久精品午夜国产亚洲AV无码| 九九九九九九九九九五码| 99草精| 超碰日本97美女人妻人人玩人人爱| 日韩成人高清一区二区| 色欲久久99精品久久| 男人的天堂在线有码| 乱伦一二三区| 美女91| 97精选久久| 99无码| 色黄色美女大长腿午夜视频| 屁股久久久久久| www被窝色com| 五月天大香蕉| 爱干爱射网啊啊啊| 亚洲九区| 久久毛卡| 欧美人黑A片无码免视费| 嗯啊抽插大香蕉网页| 日日摸日日弄日日拍| 日韩精品人妻系列无码天堂| 99热精品在线观看| 综合国产影视三级| 91超碰在线| 日日躁狠狠躁天天躁精品| 欧美激情 日韩精品| 96久久精品一二三区色欲| 亚洲色图综合| 亚洲国产精品无石码久久 | 免费网站观看www在线观| 激情久久av一区av二区av| 国产在线能看的你懂的| 色悠久| 久久久久极品| 98精品国产乱码久久久久久| 天天插天天干| 国产尹人在线视频免费| 2020国产精品| 性爱网站一区二区| 亚洲97成人在线观看| 亚洲熟女综合网| 国产嫩草精品A88AV| 亚洲天天影视色综合| 国产亚洲精品激情| 中文字幕高清精品一区| 香蕉国产精品麻豆亚洲欧美日韩| 香蕉视频欧美一卡二卡| 啊啊啊啊好疼| 黑人在线91| 色原狠狠天天天| aV中文麻| 人妻少妇无码 | 国产精品视频精品一二| 在线观看黄色电话| 在线人人人人人人精品超| 天天谢天天干| 黄色av网站在线播放| 婷婷超| 色综合av综合久久| 久久性爱视频99| 人人操 欧美| 老外又粗又长一晚做五次| 国产精品99999| 91丨人妻丨国产丨丝袜| 久久蜜桃综合网| 99999精品成人| 精品免费1| 曰本精品久久久| 96精品在线| 97玖玖人妻| 中文字幕一区二区三区人妻少妇在线| 国产精品 午夜福利| 91色五月俺来也| 中文字幕 一区二区 亚洲无码| 欧美亚州手机在线| 亚洲欧洲视频小说在线观看| 婷婷另类小说| 四虎影视永久在线观看精品免费网站| 肥佬影院91| 久久一二三四| 国产成人精品亚洲日本| 狠狠操狠狠爱| 欧美日韩222| 天堂伊人久久| 亚洲黄色AV电影| 人妻铁牛TV| 91视频伊人| 国产女人和拘做爰视频| 免费A V在线| 国产精品久久久亚洲一区| 午夜呻吟欧美| 无码男人天堂| 午夜舔阴达高潮视频免费看| 精品人妻美妇91job| 一块操欧美性爱| 亚洲春色激情小说| 国产精品电影推荐| 性91| 大香网站| 亚洲天堂另类美腿| 五月天婷婷社区| 手机午夜电影神马久久| 97福利视频| 人妻精品4K4K4K4K4| 久久精品视频一区三区小泽玛利亚| 精品妇操一区二区三区| 久久久久少妇| 极品极品色影院| 精品 码产区一区二-1080P高清在线www-B029AV| 精品久一区免费| 中出后入| 久草精品国产99| 国产高潮AA片免费看| 91最新综合| 久草电影网| 岛国黄片网站| 国产不卡精品91| 日本97久久| 涩涩涩综合| 天堂九九九九九九九九九| 人人摸人人舔一区二区| 无码人妻一区二区三区免费九色| 日韩性爱电影一区| 久久爽爽精品| 三级日韩一区二区三区| 五月婷丁香| 午夜福利在线合集| 无码区蜜乳| 精品四五区| 熟女熟妇一区二区三区视频| 国产av又色又爽又黄| 青青草在线成人视频| 女人香蕉久久毛毛片精品| 中国一级操逼视频| 久九干| 婷婷色香伊人| 超碰99在线| 色哟哟AV| 91在线精品| 欧美色图 人妻| 日本色色视频网站| 亚洲AV资源| 欧美色欧美| 久操综合在线| 人人妻人人爱人人玩| 91一起操| 精品人妻久久久| 草莓精品视频| 久久激情视频| www.国产高潮精品| 日韩一卡二卡三卡| 色一射色一射| 韩国三级一线观看久| 精品一区96| 香蕉欧美| 亚洲情色电影网| 狠狠爱夜夜| 成人欧美一区二区三区黑人一| 激情文学小说一区二区 | 欧美午夜熟妇黑人精品91| 国产精品自在线发布| 久久综合久色欧美综合狠狠 | 国产精品熟妇一区二区三| 在线观看无码三级少妇| 91在线/欧洲| 欧美aaaaaaa| 职场同事知名国产国产精品久久欧美日韩| 欧美人妻久久精品二区三区| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 成人日本片久久久蜜桃| 伊人AAA| 天美传媒婬乱在| 成人婷婷丁香| 久久久久亚洲熟妇熟女| av东京热男人的天堂| 乱伦1色页| 99最新日韩偷拍视频| 色小视频蜜乳| 天堂69亚洲精品中文字| 熟女精品一区二区在线观看| 亚洲AV无码乱码在线观看性色| 欧美日综合| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲 小说 欧美 激情 另类| 国产精品国产| 五月丁香激情综合| 欧 美 自 拍 偷 拍| 欧美色道啊| 志村玲子视频一区二区| 国产精品人妻熟女aⅴ| 久久风骚城市人| 91精品国产综合久久久蜜臀| 亚洲国产精品有声| 中文字幕在线观| 99只有精品| 丁香婷婷大香蕉| 极品销魂美女一区二区| 夜夜国自区| 嗯嗯嗯不要不要免费视频| 在线色导航| 人人摸人人舔一区二区| 久久熟妇五十路一区| 无码乱人伦中文视频| 亚洲欧美不卡线| 色www精品视频在线观看| 手机在线人成免费视频| 久久久久久久强迫| 黑人性暴力毛片| 熟妇熟女一区二三区| 国产精品久久久久无码AV会牛| 久久精品熟妇丰满人妻99| 加勒比无码一区二区三区| 婷婷色色五月天福利| 91激情国产| 午夜天堂精品久久| 亚洲黑丝在线| 免费超碰97在线观看| 91天天综合日韩欧美| 亚洲偷91色| 久久久久七视频| 骚逼高潮久久精品| 最新国产亚洲精品精品国产亚洲综合| 91久久免费视频互動交流| 97se亚洲| 亚洲欧美91√| 人人爽人人精品乱人伦AV| 日本伦理一区二区| 久99| av片在线观看免费播放| 操逼逼福利视频| 另类亚洲一区二区三区| 黑人娇小av在线播放| 亚洲色图欧美色18直播在线| 91丨精品丨国产丨丝袜| 欧洲精品人妻| 欧美日韩少妇色情| 97超碰无码网| 97人妻色| 久久天天摸| 夜色五月天| 日本久久99| 亚洲精品美女久久久久久久久| 日韩黄片影院| 国产精品99精品视频网站| 97超碰色| 91狠狠综| 人人么人人操| 黑人猛交| 亚洲欧美日韩制服另类| 日韩簧片免费看| 国内毛片热久久思思热| 蜜乳视频网站| 亚洲一级性爱视频免费看| 天天色天天干天天射| 国精精品无码一二三区水多多| 91操人| 亚洲国产日韩欧美熟妇在线| 日韩AV片| 在线天堂999| 97欧美精品综合| 91日日| 欧亚日韩三区| 蜜臀久久精品久久久久视频| 热久久无毒不卡| 熟女高潮精品一区二区| 成人性生活高清视频在线播放| 东京热双插| 欧美日韩国产一区二区小黄片大全| 伊人久久综合影院精品久久久| 自怕偷自怕亚洲精品| 大香蕉黄色一级片免费看| 久久久亚洲高清不打码| 五月婷婷爱六月丁香色| 精品超碰中文在线| 有码免费观看| 国产精品天干天干综合网麻豆 | 国产97亚洲| 日本乱人伦片中文三区| 日韩精品免费高清视频在线| 91精品伊人久久久大香线蕉91| 日本在线视频导航| 国产午夜精品一区二区三区牛牛| 大学生美女口爆| 国产日韩在线播放av| 九九久久一区二区伦理| 丝袜美腿诱惑亚洲欧美视频在线观看| av在线人气| 欧美在线中M| 国产精品夜夜| 强奸乱伦AV网站| 色婷婷基地| 欧美熟妇人体| 亚洲色性| 天天操人人操狠狠插| 一区在线观看中文字幕| 97硬碰| 狠狠操狠狠燥| 网站A V在线| 国产尤物AV尤物在线观看不卡| 午夜免费视频1000| 另类视频在线| 校园春色综合网| 欧美精品日韩久久久九| www久久久| 玖玖爱一区在线| 超碰地址久久| 日本理论在线| 久久视频少妇美女| AV天堂国产| 欧美久久草熟女| 无码粉嫩白虎一线天b区| 国产日韩欧美亚洲精品95| 中文字幕乱码人妻一区二区三区,99精品| 97 国产精品| 夜夜影视四色| 亚洲素人网| 1级午夜影院费免区| 婷婷国产精品九区| 欧美黄业| 亚洲综合五月天| www.人人摸在线视频| 午夜福利免费福利视频| 一区二区视频你懂的| 人妻偷拍一区二区三区| 2025亚洲男人天堂| 乱伦强奸区日韩| 国产剧情一区在线观看| 人妻第一页| 91九九| 男人天堂毛片| 激情五月综合网| 精品一区二区三区蜜桃| 可以看的av| 亚洲 欧美综合| 久热免费视频| 综合久久97| 天天色悠悠激情| 国产毛片毛片4p懂色| 九九九九九九九九九九九免费国产| 日韩小电影| 另类图片五月| 乱性AV| 999综合色| 国产成人手机视频激情| 欧美 日韩第一性色| 无码国产精品午夜不卡(| 九九这里只有精品| 亚洲色图大香| 人人干人人操人人爱| A啊啊在线观看| 黄色电影观看久久9| 精品美女人人干| 香蕉婷婷| 一级性爱视频免费观看 | 精品久久一区二区三区四区五区| 老熟女网站| www.一本大99| 黄色免费网页无码| 久久这里只| 国产精品久久久久绯色| 黄片免费久久久久久久| 欧美92| 亚洲色图20p| 亚洲AV性爱电影| 91狠狠综合久久| 97干色天堂| 国产亚洲精品玖玖玖在线观看| 亚洲春色欧美| av操操不卡| 老司机深夜影院18未满| 天天爽天天操啊啊啊| 亚州再线| 91久热| 1级黄色夫妻对换性交免费看| 日本高清加勒比| 日韩人妻精品久久久久| 在线看的av| 一本色道久久综合精品婷婷| 久久精品72| 美女自卫慰黄网站免费| 中文字幕黄片在线| 国产91丝袜 在线播放| 久久免费看高潮毛片韩国| 岛园激情| 操www| 久久人妻熟女一区二区| 天天干人妻| 9Ⅰ超碰| 偷拍色图| 天色综合网| 亚洲欧洲另类| 国产熟女完整版中字| 亚洲色图欧美激情| 黑白配性爱AV成| 亚洲色图美腿丝袜| 曰韩欧美国产传媒麻豆第一区| 欧美东京热精品A∨| 美国日韩黄片| 色香欲影| 中文字幕免费看| 少妇极品熟妇人妻无码| 国产玖玖| 91精品国产高清久久久久久,亚洲成人| 三上悠亚在线毛片91| 久草电影网| 成人天天爽| 天天享受天天看| 日韩三四五区| 婷婷导航| 99九九精品| 亚洲 国产 精品一区| 日韩综合无码色欲vv| 肉动漫无遮挡h在线观看| 97国产精品一区| 精品久操| 碰人碰碰人人开房人肉| 亚洲天堂日本| 操逼999| 亚洲情色在线| 99热导航| 自拍二页| 91高跟美女在线播放| 97久久精品亚洲中六字幕| 亚洲图片欧美91N| 96精品在线| 日本 欧美 亚中文字幕| 长长久久免费视频| 九九九九久久久| 久久99热这里只频精品6学生| 欧美九九九| 美女天天干| 黑白配性爱AV成| 国产91丝袜 在线播放| 超碰久久.com| 蜜臀99久| 免费试看60秒| 美女天天干| 91在线秘 男同| 午夜精品久久久久久久久久蜜桃| 久久精品福利影院| 国产精品69人妻无码久久久| 岛国黄色短视频| 人妻乱仑一区二区三区| 日韩午夜啪啪视频| 狠狠久久亚洲欧美专区| 人人澡人人爽人人精品| 美女91在线观看| 91国精产品| 天天碰久久入| 五月天伊人网| 免费岛国一级片| 久热在线精品免费观看| 国产色精品午夜大片| 日本熟女中文| 久久大香蕉手机高清| 97色色色综合网站| 亚洲AV在线资源| 日日躁天天躁狠狠躁| 日韩大香蕉| 亚洲**2021在线观看| 神马久久久久久伦理片| 九色婷婷| 天天综和| 日韩青久久| 97在线看| 日本操大逼| 啪啪91| 亚州精品丝袜-不卡成人免费| www.男人天堂| 2020中文字幕在线观看| 少妇一级婬片免费放一级a性色.| 激情啪啪拍91| 亚洲国产精品久久久久婷婷青年| 国产妇女精品视频青青草| 国产97色在线 | 亚洲| 亚欧高清| 亚洲国产成人高清在线| 伊人大香蕉在线| 国产中午字一暮区| 色激情综合网站| 久久久久成人亚洲国产| 人妻精品综合中文字幕在线| 国产后入清纯| 亚洲 欧美 精品专区 极品| 欧美性爱三区二区| 九一亚洲国产免费| 日韩无码第3页| 性爱视频无打码在线观看| 一区二区日韩欧美久久| 亚洲精品蜜桃久久久久久久| 欧美91变态| 黑人黄片在线免费观看| 草伊人高潮喷水超碰| 欧美热图99| 午夜120视频在线观看| 欧美第一页性| 亚州,欧美在线| 大香蕉一区二区在线观看.| 99热精品免费| 国产精品粉嫩福利在线| 国内精品久久人妻性色av| 91校园春色长篇| 综合大香蕉美。| 91精产一区二区三区| 99999精品| 日韩成人电影AV| 人妻五十路在线| 日韩精品一区二区高清| 99热97| 躁躁躁日日躁2020| 丰满人妻大屁一区二区| 亚洲 另类 丝袜 自拍 动漫| 色欲天天婬色婬香WWW夜色| 婷婷久久综合久| 久久久久久中文| 久操网线| 亚洲黄a三级三级三级看三级| 亚洲一区二区三区在线激情| 人夜夜精品网站香蕉嫩草| 超碰4A| 日本精品第一视频在'| 成人在线午夜视频一区| 欧美国产精品| 国产免费久久精品99re韩国| 超碰在线人妻中文字幕| 中文字幕精品丝袜| 欧美精品久久96人妻无码| 色蜜AV| 亚洲久久久| 碰碰在线视频| 蜜臀久久99精品久久久久久无删减| 99热婷婷| 校园激情狠狠四射| 婷婷五月丁香五月| 欧美啪啪色吧在线| 亚洲性综合9| 亚洲色图91| 日本一区二区三区精品| 日韩精品在线视频,日韩精品……| 91色艳| 中文字幕精品探花视频| 97一区二区蜜臀| 干我久操| 狠色婷婷久久一区二区三区_| A V视频日本| 色偷偷人人玩人人舔人人操人人摸人人爽 | 四虎永久在线精品免费网址| 2017亚洲天堂| 精品人妻一区二区视频| 射丝袜大香蕉| 国产乱伦一二三区| 欧美精品一二三| 九九热九九热| 久久中文字幕一区不卡| 加勒比东京热五月天天堂网| 免费精品福利在线观看| 啊v在线观看视频| 精品v1区| 中文字幕交换人妻| 欧美综色欧| 天天综合AV| 天天弄天天操| 欧美色交| 99啪| 国产精品999zyz| 激情婷婷黑人91| 欧美日韩国产中文超碰| 加勒比在线观看一区二区| 好爽免费视频,| 五月天精品| 天堂69亚洲精品中文字| 中文字幕第23区| 深爱激情五月天| 91红杏| 亚洲少妇综合在线播放| 欧美亚洲今日在线| 一区,二区,三区视频| 久久久久国产无av| 成年人网站在线免费观看| 大屁股国产在线视频| 99在线精品视频| 成人精品久久久午夜福利| 色偷偷综合91久久噜噜| 人人喜人人妻| 凸凹视频在线观看| 日韩在线国产字幕| 中文字幕精品亚洲熟女| 人人爽天天爽| 每日更新AV| 久久超碰国产一区二区三区| 九九九久千久久激情蜜桃在线看| 国产一区二区三区久久久精品| 蜜臀99久久精品| 蜜桃视频精品一区二区三区| 国产 丝袜 欧美中文 另类| 丁香色狠狠色综合久久小说| 日本加勒比无码专区一二三| 91蜜臀在线久久久久| 1024人妻熟女一区二区三区| 久久国产成人精品国产成人亚洲| 青青伊人加勒比海| 超碰国产情侣自拍网| 日欧操屄视频| 又大又长又粗又爽又黄| 欧美在线91| 天堂av最新电影网| 激情视频一二三| 久久9亚洲| 任你爽视频| 黄片com.| 欧美激情性爱视频网站| 一起草在线视频| 日韩AV噜噜噜一区二区三区四区| 久久久久ab| 男人下部插入女人下部| 五月丁香婷婷综合| 爱媛媛久久国产福利| 国产性久久久| 欧美自拍偷拍综合图片| 97这里只有精品| 色爱亚洲| 日本一二三免费久久| 蜜臀久久99'精品久久久| 久久久∴| 精品小视频在线| 台湾佬中文娱乐自偷自拍| 99热在线观看| www.久久爱| 色欲天天综合网| 中国亚洲呦女专区| 五月丁香社区婷婷日韩欧美精品影院| 精品九九国产无码| 天天干天天燥| 亚洲天堂一区二区久久| 手机在线免费看的av| 亚洲婷婷综合网| 成人毛片免费| 日韩精品中文字幕人妻| 国产高清自拍视频| 欧美人与动性人交a| 精品人妻一区二区三区在| 久久啊啊啊| 久久激情婷婷| 91丝袜在线观看| 亚洲天堂一区| 国产精品无码成人精品| 一本色道久久天天射天天干| 超碰97人妻免费在线| 美女天天干| 日韩黄片影院| 成人aⅴ一区二区三区| 黄色一区二区秘书性感| 91社操逼| 黑人黄片在线免费观看| 91久久久久久| 伊人久久青青草| 日产中文字幕2020| 日本超碰97日韩精品人妻| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 1级黄色夫妻对换性交免费看| 国产精品盗摄 偷窥盗摄| 欧美日韩不卡a片| 亚洲二区精品在线观看| 超碰99热| 禁止观看美女黄| 1二区9| 亚洲性综合11| 青青色在线观看| 久久受www免费人成| 强奸乱伦αv片| 精品久久久久久亚洲| 国产性刺激| 长久操视频| 欧美九九九| 日产欧美电影一区二区三区| 黑人狂躁日本妞一区二区三区| 中文字幕性感少妇av| 插入综合网| 性老妇一区二区三区| 九九超碰综合网| 国产精品片| 岛国激情视频软件| 成人电影一区| 中文字幕乱码人妻一区二区三区,99精品| 99国产精品免费| 久久婷婷一区| 亚洲欧美日韩中文播放| 在线一道啪| 五月天婷婷欧美三区| 超碰夫妻97| 欧洲精品二区| 国产成人拍国产亚洲精品| 亚欧国产无码精品在线| 中文字幕丝袜美腿| 欧美日韩系列| 久久久国产av美女私房| 久久伊人大香蕉| 免费久久9999| 亚洲熟女av中文字幕| av在线一区二区三区| 玖玖97综合| 99蜜月精品久久| 欧美18 在线观看| 五月天婷婷小说| 日韩精品人妻中文字有码在线 | 欧美体内射精| 日日干天天干夜夜爽| 亚洲色啪| 亚洲美女黄色| 亚洲AV秘无码一区..| 青草视频在线看看看看看看看看看| 日本九九久久99| 欧美日韩国产成人高清| 五月天久久久| 亚州九九九精品视频| 国产成人拍国产亚洲精品| 超碰狠狠操| 北野未奈加勒比av| 超碰1997| 中文字幕在线免费观看2| 亚洲丁香花色| 久草成人影片| 亚洲系列第一页| 91九色丨国产丨爆乳| 天天综合青苹果| 婷婷深爱五月| 日本孕妇孕交| 日韩精品在线观看观看| 冬京热男人的天堂| 另类天堂| 嗯啊不要在线观看嗯啊| 久久久999国产精品| 精品一区二区人妖| 天天操天天看| 91在线超高颜值国产| 日韩av色图综合| 久久国产AⅤ| 丝袜制服字幕在线| 97天堂| 久久久久久亚洲精品不卡人乳| 欧美肥臀在线| 操屄不卡视频| 肉丝中文无码高清| 中国东北熟女老太婆内谢| 亚洲黄色网址| 91在线视频观看国产| 天天天天做夜夜夜夜做| 欧 美 自 拍 偷 拍| 青青草日本中文字幕| 亚洲av无码国产精品字幕| 国产一区二区三区不卡手机在线| 日本视频在线中文字幕| 97蜜桃综合| 操屄日韩| 国产精品网站免费| 国产精品成人无码a v毛片| 久久亚洲熟妇在线视频| 国产女人和拘做爰视频 | 欧美成人综合| 三级色综合| 综合性视频99| 超碰在线国产| 91爱啪| 色爱综合网欧美| 一本精品日本在线视频精品| 久久99精品九九久久久婷婷| 日本三级网页| 亚洲天堂一二| 欧美一级三级| 超碰精品日韩欧美国产| 日韩午夜国产| 操逼视频亚洲| 美女好片色日本| 欧美另类色| 国产一区二区三区白丝| 日本三级韩国三级美三级91| 国产日本久久免费精品| 94色色电影网| 区一二区日韩亚洲乱码av电影| 国产成人无码啪| 超碰97综合网| 久热伊人99re| 超碰国产精品久| 人妻少妇精品无码专区二区密桃| 色婷婷五月天| 国产精品亚洲色婷婷久久久| 九九综合网| 蜜桃久久综合视频| 亚洲精品国产熟女| 国产中文字幕在线观看| 九九热免费国产视频婷婷伊人| 亚洲精品国产无码高清| 亚洲校园激情| 亚洲色图欧美色图制服丝袜| 天操天操夜操夜月操月年年操操| 色婷婷综合网站| 大香蕉乱级| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 又大又白奶子| 无码精品人妻一区二区三区妖精| 九九九国产| 伊人国产视频| 亚洲无码色| 无码高清国产AV| 91殴美| 96久久久精品| 久久欧美按摩999| 日本熟妇人妻中出视频| 成人精品在线免费视频| 欧美综合狠| 99www.bibizy香蕉资源国产一区二区三区高清 | 亚洲国产精品无石码久久| 大香蕉欧美国产日韩高潮| 五月天婷婷综合网| 精品一区二区综合熟妇| 麻豆三极片| 久久超碰天天| 中文字幕AV片| 久久久久性熟视频| 久久亚洲av成人无码国产| 午夜.DJ高清在线观看免费7| 老熟女综合| 蜜桃臀久久| 亚洲青色欧美| 久久伊人在线五区| 婷婷亚洲天堂| 亚洲高清无码在线桃色| 欧美日韩在线视频网站| 亚洲精品欧洲色| 男女香蕉一区二区| 嗯嗯,好大,好爽,好骚| 欧美日韩夜夜| 69精品人人人人| 白嫩国模丰满一二三区| 翔田千里AⅤHD无码| 女性91网站| 97久久久久| 啊啊在线| 国产AV线| k频道色撸撸| 日欧毛片久久| 干b在线性社区| 精品射1999| 亚码激情| 欧美亚洲日韩人妻在线观看| JULIA一区二区三区在线播放| 人人人人插| 综合久久久久久久综合网| 夜夜草我| 尤物av网站免费在线播放| 久久精品—区二区三区内射| 久久久555| 超碰久超碰久| 午夜经典| 可乐操在线| 欧美亚洲今日在线| 97资源亚洲| 黄页av| 综合网 欧美| 少妇精品久久| 欧美少妇色图| 欧美黄页| 久久超碰国产一区二区三区| 家庭乱伦麻豆| 中文字幕精品免费一区二区| 人人操人人摸人人骑| 日本久久女同性恋视频| 美国日韩黄片| wwwxxx日本爽| 人妻一区视频| 国产一区二区三区导航| 国产一区二区视频在线播放| 日本中文字幕在线视频| 色色五月婷| 色女女女导航| 欧美天天综| 情色五月天网| 国产精品动态一区二区三区四四| 久久精品六区| 亚洲欧美洲综合| 97在线视频免费观看| 玖玖爱在线视频免费观看| 日韩成人在线性爱视频| 亚洲 一区二区 自拍| 综合久久中文字幕综合日韩精品 | 999精品国产高清一区二区| 蜜乳av一区二区| 亚洲一区二区三区AV无码| 日本中文字幕在线电影| 久久人妻丝袜一区二区三| 日日日日做夜夜夜夜无码| 男同专区一区二区三区在线| 96久久久久久久| 精品九九九九| 91网九色蝌蚪操熟女| 日韩强奸av| 手机在线视频国内精品| 久久性爱免费送| 99热这里是精品| 天堂九九九九九九九九九| 人妻出轨一区二区三区| 亚欧洲一区二区视频| 久久内射| 婷婷在线视频在线观看| 国产亚洲精品美女久久久m|