Skip to content

Commit b8e4731

Browse files
committed
RSCBC-147: Use same Address struct across core and connstr
Simplifies some code, and reduces repetition.
1 parent ee28861 commit b8e4731

File tree

9 files changed

+11
-49
lines changed

9 files changed

+11
-49
lines changed

sdk/couchbase-core/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ tokio-util = { version = "0.7", features = ["codec"] }
4242

4343
tokio-rustls = { version = "0.26.0", optional = true }
4444

45+
couchbase-connstr = { path = "../couchbase-connstr" }
46+
4547
[dev-dependencies]
4648
chrono = "0.4.38"
4749
env_logger = "0.11"
4850
envconfig = "0.10"
4951
serial_test = "3.2.0"
5052

51-
couchbase-connstr = { path = "../couchbase-connstr" }
52-
5353
[features]
5454
dhat-heap = ["dhat"]
5555

sdk/couchbase-core/src/address.rs

Lines changed: 0 additions & 13 deletions
This file was deleted.

sdk/couchbase-core/src/agent.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use crate::address::Address;
21
use crate::auth_mechanism::AuthMechanism;
32
use crate::authenticator::Authenticator;
43
use crate::cbconfig::TerseConfig;
@@ -48,6 +47,7 @@ use crate::vbucketrouter::{
4847
use crate::{httpx, mgmtx};
4948

5049
use byteorder::BigEndian;
50+
use couchbase_connstr::Address;
5151
use futures::executor::block_on;
5252
use log::{debug, error, info, warn};
5353
use uuid::Uuid;

sdk/couchbase-core/src/kvclient.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use crate::address::Address;
21
use crate::auth_mechanism::AuthMechanism;
32
use crate::authenticator::{Authenticator, UserPassPair};
43
use crate::error::Error;
@@ -17,6 +16,7 @@ use crate::service_type::ServiceType;
1716
use crate::tls_config::TlsConfig;
1817
use crate::util::hostname_from_addr_str;
1918
use chrono::{DateTime, FixedOffset, Local, NaiveDateTime, Utc};
19+
use couchbase_connstr::Address;
2020
use futures::future::BoxFuture;
2121
use log::{debug, warn};
2222
use std::future::Future;

sdk/couchbase-core/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ extern crate core;
22
#[macro_use]
33
extern crate lazy_static;
44

5-
pub mod address;
65
pub mod agent;
76
pub mod agent_ops;
87
pub mod auth_mechanism;

sdk/couchbase-core/src/memdx/connection.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::memdx::error::Error;
22
use crate::memdx::error::Result;
33
use crate::tls_config::TlsConfig;
4+
use couchbase_connstr::Address;
45
use socket2::TcpKeepalive;
56
use std::fmt::Debug;
67
use std::io;
@@ -10,7 +11,6 @@ use tokio::io::{AsyncRead, AsyncWrite};
1011
use tokio::net::TcpStream;
1112
use tokio::time::{timeout_at, Instant};
1213

13-
use crate::address::Address;
1414
#[cfg(all(feature = "rustls-tls", not(feature = "native-tls")))]
1515
use {
1616
tokio_rustls::rustls::pki_types::DnsName, tokio_rustls::rustls::pki_types::ServerName,

sdk/couchbase-core/src/options/agent.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use crate::address::Address;
1+
use couchbase_connstr::Address;
2+
23
use crate::auth_mechanism::AuthMechanism;
34
use crate::authenticator::Authenticator;
45
use crate::tls_config::TlsConfig;

sdk/couchbase-core/tests/common/test_config.rs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
use crate::common::default_agent_options;
22
use crate::common::node_version::NodeVersion;
33
use crate::common::test_agent::TestAgent;
4-
use couchbase_connstr::ResolvedConnSpec;
5-
use couchbase_core::address::Address;
4+
use couchbase_connstr::{Address, ResolvedConnSpec};
65
use couchbase_core::agent::Agent;
76
use envconfig::Envconfig;
87
use lazy_static::lazy_static;
@@ -166,14 +165,7 @@ pub async fn create_test_config(test_config: &EnvTestConfig) -> TestSetupConfig
166165
TestSetupConfig {
167166
username: test_config.username.clone(),
168167
password: test_config.password.clone(),
169-
memd_addrs: resolved_conn_spec
170-
.memd_hosts
171-
.iter()
172-
.map(|h| Address {
173-
host: h.host.clone(),
174-
port: h.port,
175-
})
176-
.collect(),
168+
memd_addrs: resolved_conn_spec.memd_hosts.clone(),
177169
data_timeout: test_config.data_timeout.clone(),
178170
use_ssl: resolved_conn_spec.use_ssl,
179171
bucket: test_config.default_bucket.clone(),

sdk/couchbase/src/clients/cluster_client.rs

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use crate::clients::user_mgmt_client::{
1616
use crate::error;
1717
use crate::options::cluster_options::ClusterOptions;
1818
use couchbase_connstr::{parse, resolve, Address, SrvRecord};
19-
use couchbase_core::address;
2019
use couchbase_core::ondemand_agentmanager::OnDemandAgentManager;
2120
use couchbase_core::options::agent::{CompressionConfig, SeedConfig};
2221
use couchbase_core::options::ondemand_agentmanager::OnDemandAgentManagerOptions;
@@ -193,24 +192,8 @@ impl CouchbaseClusterBackend {
193192
};
194193

195194
let seed_config = SeedConfig::new()
196-
.memd_addrs(
197-
memd_hosts
198-
.into_iter()
199-
.map(|a| address::Address {
200-
host: a.host,
201-
port: a.port,
202-
})
203-
.collect(),
204-
)
205-
.http_addrs(
206-
http_hosts
207-
.into_iter()
208-
.map(|a| address::Address {
209-
host: a.host,
210-
port: a.port,
211-
})
212-
.collect(),
213-
);
195+
.memd_addrs(memd_hosts.clone())
196+
.http_addrs(http_hosts.clone());
214197

215198
let mut compression_config = CompressionConfig::default();
216199
if let Some(cm) = opts.compression_mode {

0 commit comments

Comments
 (0)