From a0fdba51535f7c6655ce20524c51cc4b8742ea4c Mon Sep 17 00:00:00 2001 From: Nikolay Kim Date: Tue, 28 May 2024 20:04:39 +0500 Subject: [PATCH] Use ntex-service 3.0 --- CHANGES.md | 4 ++++ Cargo.toml | 8 ++++---- src/client.rs | 17 ++++++++++------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 44c4756..ebc49b3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changes +## [2.0.0] - 2024-05-28 + +* Use ntex-service 3.0 + ## [1.0.0] - 2024-01-09 * Fix decode array #8 diff --git a/Cargo.toml b/Cargo.toml index 08d5579..bcee801 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ntex-redis" -version = "1.0.0" +version = "2.0.0" authors = ["ntex contributors "] description = "Redis client" documentation = "https://docs.rs/ntex-redis" @@ -12,7 +12,7 @@ exclude = [".gitignore", ".travis.yml", ".cargo/config"] edition = "2018" [dependencies] -ntex = "1.0" +ntex = "2" itoa = "1.0" btoi = "0.4" log = "0.4" @@ -20,5 +20,5 @@ derive_more = "0.99" [dev-dependencies] rand = "0.8" -env_logger = "0.10" -ntex = { version = "1.0", features = ["tokio"] } +env_logger = "0.11" +ntex = { version = "2", features = ["tokio"] } diff --git a/src/client.rs b/src/client.rs index 7cb2036..d0b68b4 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1,5 +1,5 @@ use std::collections::VecDeque; -use std::{cell::RefCell, fmt, future::poll_fn, rc::Rc, task::Context, task::Poll}; +use std::{cell::RefCell, fmt, future::poll_fn, rc::Rc, task::Poll}; use ntex::io::{IoBoxed, IoRef, OnDisconnect, RecvError}; use ntex::util::ready; @@ -120,12 +120,15 @@ impl Service for Client { type Response = Response; type Error = Error; - fn poll_ready(&self, cx: &mut Context<'_>) -> Poll> { - if self.disconnect.poll_ready(cx).is_ready() { - Poll::Ready(Err(Error::PeerGone(None))) - } else { - Poll::Ready(Ok(())) - } + async fn ready(&self, _: ServiceCtx<'_, Self>) -> Result<(), Self::Error> { + poll_fn(|cx| { + if self.disconnect.poll_ready(cx).is_ready() { + Poll::Ready(Err(Error::PeerGone(None))) + } else { + Poll::Ready(Ok(())) + } + }) + .await } async fn call(&self, req: Request, _: ServiceCtx<'_, Self>) -> Result {