Skip to content

Commit 73ff308

Browse files
committed
Agregate Glide-specific connection params into a struct
1 parent 2c7faec commit 73ff308

19 files changed

+176
-208
lines changed

redis/examples/async-await.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
#![allow(unknown_lints, dependency_on_unit_never_type_fallback)]
2-
use redis::AsyncCommands;
2+
use redis::{AsyncCommands, GlideConnectionOptions};
33

44
#[tokio::main]
55
async fn main() -> redis::RedisResult<()> {
66
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
7-
let mut con = client.get_multiplexed_async_connection(None, None).await?;
7+
let mut con = client
8+
.get_multiplexed_async_connection(GlideConnectionOptions::default())
9+
.await?;
810

911
con.set("key1", b"foo").await?;
1012

redis/examples/async-connection-loss.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use std::time::Duration;
1313

1414
use futures::future;
1515
use redis::aio::ConnectionLike;
16+
use redis::GlideConnectionOptions;
1617
use redis::RedisResult;
1718
use tokio::time::interval;
1819

@@ -81,7 +82,12 @@ async fn main() -> RedisResult<()> {
8182
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
8283
match mode {
8384
Mode::Default => {
84-
run_multi(client.get_multiplexed_tokio_connection(None, None).await?).await?
85+
run_multi(
86+
client
87+
.get_multiplexed_tokio_connection(GlideConnectionOptions::default())
88+
.await?,
89+
)
90+
.await?
8591
}
8692
Mode::Reconnect => run_multi(client.get_connection_manager().await?).await?,
8793
#[allow(deprecated)]

redis/examples/async-multiplexed.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#![allow(unknown_lints, dependency_on_unit_never_type_fallback)]
22
use futures::prelude::*;
3-
use redis::{aio::MultiplexedConnection, RedisResult};
3+
use redis::{aio::MultiplexedConnection, GlideConnectionOptions, RedisResult};
44

55
async fn test_cmd(con: &MultiplexedConnection, i: i32) -> RedisResult<()> {
66
let mut con = con.clone();
@@ -35,7 +35,7 @@ async fn main() {
3535
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
3636

3737
let con = client
38-
.get_multiplexed_tokio_connection(None, None)
38+
.get_multiplexed_tokio_connection(GlideConnectionOptions::default())
3939
.await
4040
.unwrap();
4141

redis/examples/async-pub-sub.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
#![allow(unknown_lints, dependency_on_unit_never_type_fallback)]
22
use futures_util::StreamExt as _;
3-
use redis::AsyncCommands;
3+
use redis::{AsyncCommands, GlideConnectionOptions};
44

55
#[tokio::main]
66
async fn main() -> redis::RedisResult<()> {
77
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
8-
let mut publish_conn = client.get_multiplexed_async_connection(None, None).await?;
8+
let mut publish_conn = client
9+
.get_multiplexed_async_connection(GlideConnectionOptions::default())
10+
.await?;
911
let mut pubsub_conn = client.get_async_pubsub().await?;
1012

1113
pubsub_conn.subscribe("wavephone").await?;

redis/examples/async-scan.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
#![allow(unknown_lints, dependency_on_unit_never_type_fallback)]
22
use futures::stream::StreamExt;
3-
use redis::{AsyncCommands, AsyncIter};
3+
use redis::{AsyncCommands, AsyncIter, GlideConnectionOptions};
44

55
#[tokio::main]
66
async fn main() -> redis::RedisResult<()> {
77
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
8-
let mut con = client.get_multiplexed_async_connection(None, None).await?;
8+
let mut con = client
9+
.get_multiplexed_async_connection(GlideConnectionOptions::default())
10+
.await?;
911

1012
con.set("async-key1", b"foo").await?;
1113
con.set("async-key2", b"foo").await?;

redis/src/aio/connection_manager.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use super::RedisFuture;
2+
use crate::client::GlideConnectionOptions;
23
use crate::cmd::Cmd;
34
use crate::push_manager::PushManager;
45
use crate::types::{RedisError, RedisResult, Value};
@@ -195,8 +196,7 @@ impl ConnectionManager {
195196
client.get_multiplexed_async_connection_with_timeouts(
196197
response_timeout,
197198
connection_timeout,
198-
None,
199-
None,
199+
GlideConnectionOptions::default(),
200200
)
201201
})
202202
.await

redis/src/aio/multiplexed_connection.rs

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
use super::{ConnectionLike, Runtime};
22
use crate::aio::setup_connection;
33
use crate::aio::DisconnectNotifier;
4+
use crate::client::GlideConnectionOptions;
45
use crate::cmd::Cmd;
56
#[cfg(any(feature = "tokio-comp", feature = "async-std-comp"))]
67
use crate::parser::ValueCodec;
78
use crate::push_manager::PushManager;
89
use crate::types::{RedisError, RedisFuture, RedisResult, Value};
9-
use crate::{cmd, ConnectionInfo, ProtocolVersion, PushInfo, PushKind};
10+
use crate::{cmd, ConnectionInfo, ProtocolVersion, PushKind};
1011
use ::tokio::{
1112
io::{AsyncRead, AsyncWrite},
1213
sync::{mpsc, oneshot},
@@ -416,8 +417,7 @@ impl MultiplexedConnection {
416417
pub async fn new<C>(
417418
connection_info: &ConnectionInfo,
418419
stream: C,
419-
push_sender: Option<mpsc::UnboundedSender<PushInfo>>,
420-
disconnect_notifier: Option<Box<dyn DisconnectNotifier>>,
420+
glide_connection_options: GlideConnectionOptions,
421421
) -> RedisResult<(Self, impl Future<Output = ()>)>
422422
where
423423
C: Unpin + AsyncRead + AsyncWrite + Send + 'static,
@@ -426,8 +426,7 @@ impl MultiplexedConnection {
426426
connection_info,
427427
stream,
428428
std::time::Duration::MAX,
429-
push_sender,
430-
disconnect_notifier,
429+
glide_connection_options,
431430
)
432431
.await
433432
}
@@ -438,8 +437,7 @@ impl MultiplexedConnection {
438437
connection_info: &ConnectionInfo,
439438
stream: C,
440439
response_timeout: std::time::Duration,
441-
push_sender: Option<mpsc::UnboundedSender<PushInfo>>,
442-
disconnect_notifier: Option<Box<dyn DisconnectNotifier>>,
440+
glide_connection_options: GlideConnectionOptions,
443441
) -> RedisResult<(Self, impl Future<Output = ()>)>
444442
where
445443
C: Unpin + AsyncRead + AsyncWrite + Send + 'static,
@@ -457,10 +455,11 @@ impl MultiplexedConnection {
457455
let codec = ValueCodec::default()
458456
.framed(stream)
459457
.and_then(|msg| async move { msg });
460-
let (mut pipeline, driver) = Pipeline::new(codec, disconnect_notifier);
458+
let (mut pipeline, driver) =
459+
Pipeline::new(codec, glide_connection_options.disconnect_notifier);
461460
let driver = boxed(driver);
462461
let pm = PushManager::default();
463-
if let Some(sender) = push_sender {
462+
if let Some(sender) = glide_connection_options.push_sender {
464463
pm.replace_sender(sender);
465464
}
466465

0 commit comments

Comments
 (0)