diff --git a/package.json b/package.json index dd0f39d..51b1e44 100644 --- a/package.json +++ b/package.json @@ -15,19 +15,19 @@ "@tauri-apps/api": "^1.3.0", "debug": "^4.3.4", "solid-icons": "^1.0.4", - "solid-js": "^1.7.4", + "solid-js": "^1.7.5", "solid-tippy": "^0.2.1", "tippy.js": "^6.3.7" }, "devDependencies": { - "@tauri-apps/cli": "^1.3.0", + "@tauri-apps/cli": "^1.3.1", "@types/debug": "^4.1.7", - "@types/node": "^18.16.3", + "@types/node": "^18.16.6", "autoprefixer": "^10.4.14", "postcss": "^8.4.23", "tailwindcss": "^3.3.2", "typescript": "^4.9.5", - "vite": "^4.3.4", + "vite": "^4.3.5", "vite-plugin-solid": "^2.7.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a4e0fd..2389067 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,7 +3,7 @@ lockfileVersion: '6.0' dependencies: '@solidjs/router': specifier: ^0.8.2 - version: 0.8.2(solid-js@1.7.4) + version: 0.8.2(solid-js@1.7.5) '@tauri-apps/api': specifier: ^1.3.0 version: 1.3.0 @@ -12,27 +12,27 @@ dependencies: version: 4.3.4 solid-icons: specifier: ^1.0.4 - version: 1.0.4(solid-js@1.7.4) + version: 1.0.4(solid-js@1.7.5) solid-js: - specifier: ^1.7.4 - version: 1.7.4 + specifier: ^1.7.5 + version: 1.7.5 solid-tippy: specifier: ^0.2.1 - version: 0.2.1(solid-js@1.7.4)(tippy.js@6.3.7) + version: 0.2.1(solid-js@1.7.5)(tippy.js@6.3.7) tippy.js: specifier: ^6.3.7 version: 6.3.7 devDependencies: '@tauri-apps/cli': - specifier: ^1.3.0 - version: 1.3.0 + specifier: ^1.3.1 + version: 1.3.1 '@types/debug': specifier: ^4.1.7 version: 4.1.7 '@types/node': - specifier: ^18.16.3 - version: 18.16.3 + specifier: ^18.16.6 + version: 18.16.6 autoprefixer: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.23) @@ -46,11 +46,11 @@ devDependencies: specifier: ^4.9.5 version: 4.9.5 vite: - specifier: ^4.3.4 - version: 4.3.4(@types/node@18.16.3) + specifier: ^4.3.5 + version: 4.3.5(@types/node@18.16.6) vite-plugin-solid: specifier: ^2.7.0 - version: 2.7.0(solid-js@1.7.4)(vite@4.3.4) + version: 2.7.0(solid-js@1.7.5)(vite@4.3.5) packages: @@ -658,12 +658,12 @@ packages: resolution: {integrity: sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==} dev: false - /@solidjs/router@0.8.2(solid-js@1.7.4): + /@solidjs/router@0.8.2(solid-js@1.7.5): resolution: {integrity: sha512-gUKW+LZqxtX6y/Aw6JKyy4gQ9E7dLqp513oB9pSYJR1HM5c56Pf7eijzyXX+b3WuXig18Cxqah4tMtF0YGu80w==} peerDependencies: solid-js: ^1.5.3 dependencies: - solid-js: 1.7.4 + solid-js: 1.7.5 dev: false /@tauri-apps/api@1.3.0: @@ -671,8 +671,8 @@ packages: engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} dev: false - /@tauri-apps/cli-darwin-arm64@1.3.0: - resolution: {integrity: sha512-uuhx3/LaqFyHkoGOnOltBLKWGOzC6WzdXu+/Qv3NmNnyQWkY7O34z5V0oP6ibfuiOBZufKjOuBR+8YAIR8Qh9Q==} + /@tauri-apps/cli-darwin-arm64@1.3.1: + resolution: {integrity: sha512-QlepYVPgOgspcwA/u4kGG4ZUijlXfdRtno00zEy+LxinN/IRXtk+6ErVtsmoLi1ZC9WbuMwzAcsRvqsD+RtNAg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -680,8 +680,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-darwin-x64@1.3.0: - resolution: {integrity: sha512-fj0VXHMDvb/H1CjaS/JoYd7xcourxndJn1IyM4afYbpXibT/fpmM6uZflDI6rRa220NfnBtQvy+asgwC9wuyLA==} + /@tauri-apps/cli-darwin-x64@1.3.1: + resolution: {integrity: sha512-fKcAUPVFO3jfDKXCSDGY0MhZFF/wDtx3rgFnogWYu4knk38o9RaqRkvMvqJhLYPuWaEM5h6/z1dRrr9KKCbrVg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -689,8 +689,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm-gnueabihf@1.3.0: - resolution: {integrity: sha512-f80DmFPnH5ZskG61KIlAyMVk9YkrTq0XM2uiQjOo5gToIdJidSwhPQVeBLv+7UxhqaRBx082Dg2fOkWlO3LiOQ==} + /@tauri-apps/cli-linux-arm-gnueabihf@1.3.1: + resolution: {integrity: sha512-+4H0dv8ltJHYu/Ma1h9ixUPUWka9EjaYa8nJfiMsdCI4LJLNE6cPveE7RmhZ59v9GW1XB108/k083JUC/OtGvA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -698,8 +698,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-gnu@1.3.0: - resolution: {integrity: sha512-s6/OByuGoppoUSnOXv/b6Oe6cVFk2w/KHs19aJJpo9ov/dUAA1w9wXlXu2l6sOFGsu/plaVomF2cw3iAQmaUCQ==} + /@tauri-apps/cli-linux-arm64-gnu@1.3.1: + resolution: {integrity: sha512-Pj3odVO1JAxLjYmoXKxcrpj/tPxcA8UP8N06finhNtBtBaxAjrjjxKjO4968KB0BUH7AASIss9EL4Tr0FGnDuw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -707,8 +707,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-musl@1.3.0: - resolution: {integrity: sha512-yZfZAW4BG92cynL/D4wdrwBAl2oekRwiZnU5CM8k5yncalVEL0tyzuxQjjqbqrtDcw0rdkoBWrhFd+EB89vQaQ==} + /@tauri-apps/cli-linux-arm64-musl@1.3.1: + resolution: {integrity: sha512-tA0JdDLPFaj42UDIVcF2t8V0tSha40rppcmAR/MfQpTCxih6399iMjwihz9kZE1n4b5O4KTq9GliYo50a8zYlQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -716,8 +716,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-gnu@1.3.0: - resolution: {integrity: sha512-K3KRWSGKh7DTBr/ZKgWzeNX1Vdgx1ZBlUJXsm72R0Hb+93fDEp3TWgiwVkxqecB4aNWJhJsDcvRHuxw1G8xPlA==} + /@tauri-apps/cli-linux-x64-gnu@1.3.1: + resolution: {integrity: sha512-FDU+Mnvk6NLkqQimcNojdKpMN4Y3W51+SQl+NqG9AFCWprCcSg62yRb84751ujZuf2MGT8HQOfmd0i77F4Q3tQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -725,8 +725,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-musl@1.3.0: - resolution: {integrity: sha512-99bVHqL1EtF7oESrlmEb5BWJsMNQ2ha70gesZhaVO2qI9Vg089XvrFZWC+aGiUsXNFrOw270+D9DKn03xO5+Zg==} + /@tauri-apps/cli-linux-x64-musl@1.3.1: + resolution: {integrity: sha512-MpO3akXFmK8lZYEbyQRDfhdxz1JkTBhonVuz5rRqxwA7gnGWHa1aF1+/2zsy7ahjB2tQ9x8DDFDMdVE20o9HrA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -734,8 +734,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-ia32-msvc@1.3.0: - resolution: {integrity: sha512-ckBUTqXXdnCiYyf2xvxiuqiKZurg7ET++f6yzfvYa+gofd5dagQJkGLlkIg2pJ2c8mhEG1Cfk1vxWPqqGfN2GQ==} + /@tauri-apps/cli-win32-ia32-msvc@1.3.1: + resolution: {integrity: sha512-9Boeo3K5sOrSBAZBuYyGkpV2RfnGQz3ZhGJt4hE6P+HxRd62lS6+qDKAiw1GmkZ0l1drc2INWrNeT50gwOKwIQ==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -743,8 +743,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-x64-msvc@1.3.0: - resolution: {integrity: sha512-vQ4wqRE0aziyRxgHIOLudGuxx4wETvFnmMvDBaNJRRrZQPlkOKnRxrvj1rNnI1845BdzSbDF4p7JDcFzToAfXA==} + /@tauri-apps/cli-win32-x64-msvc@1.3.1: + resolution: {integrity: sha512-wMrTo91hUu5CdpbElrOmcZEoJR4aooTG+fbtcc87SMyPGQy1Ux62b+ZdwLvL1sVTxnIm//7v6QLRIWGiUjCPwA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -752,20 +752,20 @@ packages: dev: true optional: true - /@tauri-apps/cli@1.3.0: - resolution: {integrity: sha512-H65YQQkE6SBTQ+KlqTmzx7oCL/2p36v2jPFVNHBhZ5EN7g0VLYmImh9TFcB/QsO2aT+sVlRZSmTpL3R0Iiu8pA==} + /@tauri-apps/cli@1.3.1: + resolution: {integrity: sha512-o4I0JujdITsVRm3/0spfJX7FcKYrYV1DXJqzlWIn6IY25/RltjU6qbC1TPgVww3RsRX63jyVUTcWpj5wwFl+EQ==} engines: {node: '>= 10'} hasBin: true optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 1.3.0 - '@tauri-apps/cli-darwin-x64': 1.3.0 - '@tauri-apps/cli-linux-arm-gnueabihf': 1.3.0 - '@tauri-apps/cli-linux-arm64-gnu': 1.3.0 - '@tauri-apps/cli-linux-arm64-musl': 1.3.0 - '@tauri-apps/cli-linux-x64-gnu': 1.3.0 - '@tauri-apps/cli-linux-x64-musl': 1.3.0 - '@tauri-apps/cli-win32-ia32-msvc': 1.3.0 - '@tauri-apps/cli-win32-x64-msvc': 1.3.0 + '@tauri-apps/cli-darwin-arm64': 1.3.1 + '@tauri-apps/cli-darwin-x64': 1.3.1 + '@tauri-apps/cli-linux-arm-gnueabihf': 1.3.1 + '@tauri-apps/cli-linux-arm64-gnu': 1.3.1 + '@tauri-apps/cli-linux-arm64-musl': 1.3.1 + '@tauri-apps/cli-linux-x64-gnu': 1.3.1 + '@tauri-apps/cli-linux-x64-musl': 1.3.1 + '@tauri-apps/cli-win32-ia32-msvc': 1.3.1 + '@tauri-apps/cli-win32-x64-msvc': 1.3.1 dev: true /@types/babel__core@7.20.0: @@ -807,8 +807,8 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node@18.16.3: - resolution: {integrity: sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==} + /@types/node@18.16.6: + resolution: {integrity: sha512-N7KINmeB8IN3vRR8dhgHEp+YpWvGFcpDoh5XZ8jB5a00AdFKCKEyyGTOPTddUf4JqU1ZKTVxkOxakDvchNVI2Q==} dev: true /ansi-styles@3.2.1: @@ -842,7 +842,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.5 - caniuse-lite: 1.0.30001482 + caniuse-lite: 1.0.30001486 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -900,8 +900,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001482 - electron-to-chromium: 1.4.382 + caniuse-lite: 1.0.30001486 + electron-to-chromium: 1.4.387 node-releases: 2.0.10 update-browserslist-db: 1.0.11(browserslist@4.21.5) dev: true @@ -911,8 +911,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite@1.0.30001482: - resolution: {integrity: sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==} + /caniuse-lite@1.0.30001486: + resolution: {integrity: sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==} dev: true /chalk@2.4.2: @@ -990,8 +990,8 @@ packages: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: true - /electron-to-chromium@1.4.382: - resolution: {integrity: sha512-czMavlW52VIPgutbVL9JnZIZuFijzsG1ww/1z2Otu1r1q+9Qe2bTsH3My3sZarlvwyqHM6+mnZfEnt2Vr4dsIg==} + /electron-to-chromium@1.4.387: + resolution: {integrity: sha512-tutLf+alr1/0YqJwKPdstVvDLmxmLb5xNyDLNS0RZmenHcEYk9qKfpKDCVZEKJ00JVbnayJm1MZAbYhYDFpcOw==} dev: true /esbuild@0.17.18: @@ -1170,8 +1170,8 @@ packages: engines: {node: '>=0.12.0'} dev: true - /is-what@4.1.8: - resolution: {integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==} + /is-what@4.1.9: + resolution: {integrity: sha512-I3FU0rkVvwhgLLEs6iITwZ/JaLXe7tQcHyzupXky8jigt1vu4KM0UOqDr963j36JRvJ835EATVIm6MnGz/i1/g==} engines: {node: '>=12.13'} dev: true @@ -1211,11 +1211,11 @@ packages: yallist: 3.1.1 dev: true - /merge-anything@5.1.5: - resolution: {integrity: sha512-9lquMsJxgaef2BXYUy8VnqHmuLYaEiGd7SULqOTuDFA9Lw6g6Hmdsblc6+yqshdJOQKkn9I106+3D5mnQMstvg==} + /merge-anything@5.1.6: + resolution: {integrity: sha512-0SIP3417t0sOL6/crPb6oC+ZNSMrjJeWkydlddgZVzsjQA86l8v3+f3WwvKanbsHxVF80QouJIdSh+Q249bu0g==} engines: {node: '>=12.13'} dependencies: - is-what: 4.1.8 + is-what: 4.1.9 dev: true /merge2@1.4.1: @@ -1413,8 +1413,8 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rollup@3.21.4: - resolution: {integrity: sha512-N5LxpvDolOm9ueiCp4NfB80omMDqb45ShtsQw2+OT3f11uJ197dv703NZvznYHP6RWR85wfxanXurXKG3ux2GQ==} + /rollup@3.21.5: + resolution: {integrity: sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -1436,22 +1436,22 @@ packages: resolution: {integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==} engines: {node: '>=10'} - /solid-icons@1.0.4(solid-js@1.7.4): + /solid-icons@1.0.4(solid-js@1.7.5): resolution: {integrity: sha512-gJTp4in3+OYCs9WvDkSLt4Los2unR3Uoder8wjh15GsfP20xiNOLfPTJllXmn+fI8+k3x7bRYtLGIgWd9fUQug==} engines: {node: '>= 16'} peerDependencies: solid-js: '*' dependencies: - solid-js: 1.7.4 + solid-js: 1.7.5 dev: false - /solid-js@1.7.4: - resolution: {integrity: sha512-hD/bzIpaa7DL/LGRRTLFvejQuxQaoXyH+DBgPputJW7zvFigCewQIoDvbwDR4VHTsa8VsMDPzV8BT0F9OqsS1Q==} + /solid-js@1.7.5: + resolution: {integrity: sha512-GfJ8na1e9FG1oAF5xC24BM+ATLym0sfH+ZblkbBFpueYdq3fWAoA5Ve+jGeIeLI7jmMGfa0rUaKruszNm2sH8w==} dependencies: csstype: 3.1.2 seroval: 0.5.1 - /solid-refresh@0.5.2(solid-js@1.7.4): + /solid-refresh@0.5.2(solid-js@1.7.5): resolution: {integrity: sha512-I69HmFj0LsGRJ3n8CEMVjyQFgVtuM2bSjznu2hCnsY+i5oOxh8ioWj00nnHBv0UYD3WpE/Sq4Q3TNw2IKmKN7A==} peerDependencies: solid-js: ^1.3 @@ -1459,17 +1459,17 @@ packages: '@babel/generator': 7.21.5 '@babel/helper-module-imports': 7.21.4 '@babel/types': 7.21.5 - solid-js: 1.7.4 + solid-js: 1.7.5 dev: true - /solid-tippy@0.2.1(solid-js@1.7.4)(tippy.js@6.3.7): + /solid-tippy@0.2.1(solid-js@1.7.5)(tippy.js@6.3.7): resolution: {integrity: sha512-8qB6X1iMn7nBd5BX+x7tS+5mDVragw5vCaXLOxEQFWUsyRRGKAY8JmbmmyVFIMIvF+pgkIIVIArhNfAGGtYVLA==} engines: {node: '>=10'} peerDependencies: solid-js: ^1.2 tippy.js: ^6.3 dependencies: - solid-js: 1.7.4 + solid-js: 1.7.5 tippy.js: 6.3.7 dev: false @@ -1596,7 +1596,7 @@ packages: resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} dev: true - /vite-plugin-solid@2.7.0(solid-js@1.7.4)(vite@4.3.4): + /vite-plugin-solid@2.7.0(solid-js@1.7.5)(vite@4.3.5): resolution: {integrity: sha512-avp/Jl5zOp/Itfo67xtDB2O61U7idviaIp4mLsjhCa13PjKNasz+IID0jYTyqUp9SFx6/PmBr6v4KgDppqompg==} peerDependencies: solid-js: ^1.7.2 @@ -1606,17 +1606,17 @@ packages: '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8) '@types/babel__core': 7.20.0 babel-preset-solid: 1.7.4(@babel/core@7.21.8) - merge-anything: 5.1.5 - solid-js: 1.7.4 - solid-refresh: 0.5.2(solid-js@1.7.4) - vite: 4.3.4(@types/node@18.16.3) - vitefu: 0.2.4(vite@4.3.4) + merge-anything: 5.1.6 + solid-js: 1.7.5 + solid-refresh: 0.5.2(solid-js@1.7.5) + vite: 4.3.5(@types/node@18.16.6) + vitefu: 0.2.4(vite@4.3.5) transitivePeerDependencies: - supports-color dev: true - /vite@4.3.4(@types/node@18.16.3): - resolution: {integrity: sha512-f90aqGBoxSFxWph2b39ae2uHAxm5jFBBdnfueNxZAT1FTpM13ccFQExCaKbR2xFW5atowjleRniQ7onjJ22QEg==} + /vite@4.3.5(@types/node@18.16.6): + resolution: {integrity: sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -1640,15 +1640,15 @@ packages: terser: optional: true dependencies: - '@types/node': 18.16.3 + '@types/node': 18.16.6 esbuild: 0.17.18 postcss: 8.4.23 - rollup: 3.21.4 + rollup: 3.21.5 optionalDependencies: fsevents: 2.3.2 dev: true - /vitefu@0.2.4(vite@4.3.4): + /vitefu@0.2.4(vite@4.3.5): resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -1656,7 +1656,7 @@ packages: vite: optional: true dependencies: - vite: 4.3.4(@types/node@18.16.3) + vite: 4.3.5(@types/node@18.16.6) dev: true /wrappy@1.0.2: diff --git a/src-tauri/src/display/manager.rs b/src-tauri/src/display/manager.rs index 6de47aa..0ff24d5 100644 --- a/src-tauri/src/display/manager.rs +++ b/src-tauri/src/display/manager.rs @@ -123,6 +123,7 @@ impl DisplayManager { impl Drop for DisplayManager { fn drop(&mut self) { if let Some(handler) = self.setting_request_handler.take() { + info!("abort display setting request handler"); handler.abort(); } } diff --git a/src-tauri/src/rpc/board.rs b/src-tauri/src/rpc/board.rs index 14a5bde..af8c29d 100644 --- a/src-tauri/src/rpc/board.rs +++ b/src-tauri/src/rpc/board.rs @@ -64,6 +64,9 @@ impl Board { } } else if buf[0] == 4 { let result = volume_setting_request_sender.send(buf[1] as f32 / 100.0); + if let Err(err) = result { + error!("send volume setting request to channel failed: {:?}", err); + } } } Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {