Skip to content

Commit eec036c

Browse files
authored
Merge pull request #110 from spaceapi-community/update-dependencies
Update dependencies
2 parents 2338beb + 9b9b84e commit eec036c

File tree

5 files changed

+24
-20
lines changed

5 files changed

+24
-20
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ Possible log types:
1111
- `[fixed]` for any bug fixes.
1212
- `[security]` to invite users to upgrade in case of vulnerabilities.
1313

14+
### Unreleased
15+
16+
- [changed] Update redis to 0.21 and remove r2d2\_redis (#110)
17+
1418
### v0.6.0 (2021-08-30)
1519

1620
- [changed] Update redis to 0.20 and r2d2\_redis to 0.14 (#105, #106)

Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@ include = [
2424
edition = "2018"
2525

2626
[dependencies]
27-
r2d2 = "^0.8.5"
28-
r2d2_redis = "^0.14.0"
29-
redis = "^0.20.0"
27+
r2d2 = "^0.8.7"
28+
redis = { version = "^0.21.1", features = ['r2d2'] }
3029
log = "^0.4"
3130
iron = "^0.6.1"
3231
urlencoded = "^0.6"
@@ -38,4 +37,4 @@ quick-error = "2.0"
3837

3938

4039
[dev-dependencies]
41-
env_logger = "^0.8.3"
40+
env_logger = "^0.9.0"

examples/with_custom_redis_pool.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
extern crate env_logger;
22
extern crate r2d2;
3-
extern crate r2d2_redis;
43
extern crate redis;
54
extern crate spaceapi_server;
65

@@ -9,10 +8,9 @@ use spaceapi_server::modifiers::StatusModifier;
98
use spaceapi_server::SpaceapiServerBuilder;
109

1110
use r2d2::Pool;
12-
use r2d2_redis::RedisConnectionManager;
1311
use redis::{Commands, RedisResult};
1412

15-
type RedisPool = Pool<RedisConnectionManager>;
13+
type RedisPool = Pool<redis::Client>;
1614

1715
struct OpenStatusFromRedisModifier {
1816
pool: RedisPool,
@@ -67,8 +65,15 @@ fn main() {
6765
.build()
6866
.expect("Creating status failed");
6967

70-
let manager = r2d2_redis::RedisConnectionManager::new("redis://localhost").unwrap();
71-
let pool = r2d2::Pool::builder().build(manager).unwrap();
68+
// get redis client
69+
let client: redis::Client = redis::Client::open("redis://127.0.0.1/")
70+
.unwrap_or_else(|e| panic!("Error connecting to redis: {}", e));
71+
72+
// create r2d2 pool
73+
let pool: r2d2::Pool<redis::Client> = r2d2::Pool::builder()
74+
.max_size(15)
75+
.build(client)
76+
.unwrap_or_else(|e| panic!("Error building redis pool: {}", e));
7277

7378
// Set up server
7479
let server = SpaceapiServerBuilder::new(status)

src/server/mod.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use std::time::Duration;
66

77
use iron::Iron;
88
use log::debug;
9-
use r2d2_redis::RedisConnectionManager;
109
use redis::{ConnectionInfo, IntoConnectionInfo};
1110
use router::Router;
1211

@@ -24,7 +23,7 @@ use crate::types::RedisPool;
2423

2524
enum RedisInfo {
2625
None,
27-
Pool(r2d2::Pool<r2d2_redis::RedisConnectionManager>),
26+
Pool(r2d2::Pool<redis::Client>),
2827
ConnectionInfo(ConnectionInfo),
2928
Err(SpaceapiServerError),
3029
}
@@ -86,7 +85,7 @@ impl SpaceapiServerBuilder {
8685
/// See
8786
/// [`examples/with_custom_redis_pool.rs`](https://github.com/spaceapi-community/spaceapi-server-rs/blob/master/examples/with_custom_redis_pool.rs)
8887
/// for a real example.
89-
pub fn redis_pool(mut self, redis_pool: r2d2::Pool<r2d2_redis::RedisConnectionManager>) -> Self {
88+
pub fn redis_pool(mut self, redis_pool: r2d2::Pool<redis::Client>) -> Self {
9089
self.redis_info = RedisInfo::Pool(redis_pool);
9190
self
9291
}
@@ -125,12 +124,11 @@ impl SpaceapiServerBuilder {
125124
RedisInfo::Pool(p) => Ok(p),
126125
RedisInfo::ConnectionInfo(ci) => {
127126
// Log some useful debug information
128-
debug!("Connecting to redis database {} at {:?}", ci.db, ci.addr);
127+
debug!("Connecting to redis database {} at {:?}", ci.redis.db, ci.addr);
129128

130-
let redis_manager = RedisConnectionManager::new(ci)?;
129+
let client: redis::Client = redis::Client::open(ci)?;
131130

132-
// Create redis pool
133-
let redis_pool = r2d2::Pool::builder()
131+
let redis_pool: r2d2::Pool<redis::Client> = r2d2::Pool::builder()
134132
// Provide up to 6 connections in connection pool
135133
.max_size(6)
136134
// At least 1 connection must be active
@@ -143,7 +141,7 @@ impl SpaceapiServerBuilder {
143141
.error_handler(Box::new(r2d2::NopErrorHandler))
144142
// Initialize connection pool lazily. This allows the SpaceAPI
145143
// server to work even without a database connection.
146-
.build_unchecked(redis_manager);
144+
.build_unchecked(client);
147145
Ok(redis_pool)
148146
}
149147
};

src/types.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
//! Type definitions.
22
3-
use r2d2_redis::RedisConnectionManager;
4-
5-
pub type RedisPool = r2d2::Pool<RedisConnectionManager>;
3+
pub type RedisPool = r2d2::Pool<redis::Client>;

0 commit comments

Comments
 (0)