Skip to content

Commit 3e3bb7c

Browse files
committed
Make the return type of update_stream match with create_stream
1 parent 7d63f1d commit 3e3bb7c

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

async-nats/src/jetstream/context.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ use futures::{Future, StreamExt, TryFutureExt};
2828
use serde::de::DeserializeOwned;
2929
use serde::{Deserialize, Serialize};
3030
use serde_json::{self, json};
31-
use std::borrow::Borrow;
3231
use std::fmt::Display;
3332
use std::future::IntoFuture;
3433
use std::pin::Pin;
@@ -510,7 +509,7 @@ impl Context {
510509
/// let jetstream = async_nats::jetstream::new(client);
511510
///
512511
/// let stream = jetstream
513-
/// .update_stream(&Config {
512+
/// .update_stream(Config {
514513
/// name: "events".to_string(),
515514
/// discard: DiscardPolicy::New,
516515
/// max_messages: 50_000,
@@ -520,11 +519,11 @@ impl Context {
520519
/// # Ok(())
521520
/// # }
522521
/// ```
523-
pub async fn update_stream<S>(&self, config: S) -> Result<Info, UpdateStreamError>
522+
pub async fn update_stream<S>(&self, config: S) -> Result<Stream, UpdateStreamError>
524523
where
525-
S: Borrow<Config>,
524+
S: Into<Config>,
526525
{
527-
let config = config.borrow();
526+
let config: Config = config.into();
528527

529528
if config.name.is_empty() {
530529
return Err(CreateStreamError::new(
@@ -539,9 +538,13 @@ impl Context {
539538
}
540539

541540
let subject = format!("STREAM.UPDATE.{}", config.name);
542-
match self.request(subject, config).await? {
541+
match self.request(subject, &config).await? {
543542
Response::Err { error } => Err(error.into()),
544-
Response::Ok(info) => Ok(info),
543+
Response::Ok(info) => Ok(Stream {
544+
context: self.clone(),
545+
info,
546+
name: config.name,
547+
}),
545548
}
546549
}
547550

async-nats/tests/jetstream_tests.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ mod jetstream {
550550
let context = async_nats::jetstream::new(client);
551551

552552
let _stream = context.create_stream("events").await.unwrap();
553-
let info = context
553+
let stream = context
554554
.update_stream(stream::Config {
555555
name: "events".into(),
556556
max_messages: 1000,
@@ -559,6 +559,7 @@ mod jetstream {
559559
})
560560
.await
561561
.unwrap();
562+
let info = &stream.cached_info();
562563
context.update_stream(&info.config).await.unwrap();
563564
assert_eq!(info.config.max_messages, 1000);
564565
assert_eq!(info.config.max_messages_per_subject, 100);

0 commit comments

Comments
 (0)