Skip to content

Commit 27fb29a

Browse files
committed
Deprecate Service::add_client
Somehow this is going backward: such methods that establish a bi-directional connection between two actors are more than convenient. However, this method was too specialized and only used by an example. Signed-off-by: Didier Wenzek <didier.wenzek@free.fr>
1 parent a24e5c3 commit 27fb29a

File tree

2 files changed

+5
-18
lines changed

2 files changed

+5
-18
lines changed

crates/core/tedge_actors/src/examples/mod.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
//! to establish appropriate connections between the actor message boxes.
4444
//!
4545
//! ```
46-
//! # use tedge_actors::{Actor, Builder, ChannelError, MessageReceiver, Sender, NoConfig, ServerActor, ServerMessageBox, ServerMessageBoxBuilder, SimpleMessageBox, SimpleMessageBoxBuilder, Service, MessageSink};
46+
//! # use tedge_actors::{Actor, Builder, ChannelError, MessageReceiver, Sender, NoConfig, ServerActor, ServerMessageBox, ServerMessageBoxBuilder, SimpleMessageBox, SimpleMessageBoxBuilder, Service, MessageSink, MessageSource};
4747
//! # use crate::tedge_actors::examples::calculator_server::*;
4848
//! # #[tokio::main]
4949
//! # async fn main_test() -> Result<(),ChannelError> {
@@ -60,12 +60,14 @@
6060
//! // Connecting the two boxes, so the box built by the `player_box_builder`:
6161
//! // - receives as input, the output messages sent from the server message box
6262
//! // - sends output messages to the server message box as its input.
63-
//! server_box_builder.add_client(&mut player_1_box_builder);
63+
//! let request_sender = server_box_builder.add_requester(player_1_box_builder.get_sender());
64+
//! player_1_box_builder.register_peer(NoConfig, request_sender);
6465
//!
6566
//! // It matters that the builder of the server box is a `ServerMessageBoxBuilder`:
6667
//! // as this builder accepts multiple client actors to connect to the same server.
6768
//! let mut player_2_box_builder = SimpleMessageBoxBuilder::new("Player 2", 1);
68-
//! server_box_builder.add_client(&mut player_2_box_builder);
69+
//! let request_sender = server_box_builder.add_requester(player_2_box_builder.get_sender());
70+
//! player_2_box_builder.register_peer(NoConfig, request_sender);
6971
//!
7072
//! // One can then build the message boxes
7173
//! let server_box: ServerMessageBox<Operation,Update> = server_box_builder.build();

crates/core/tedge_actors/src/servers/mod.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,6 @@ use std::fmt::Debug;
101101
use crate::DynSender;
102102
use crate::Message;
103103
use crate::MessageSink;
104-
use crate::MessageSource;
105-
use crate::NoConfig;
106104
use crate::Sender;
107105
use async_trait::async_trait;
108106

@@ -150,11 +148,6 @@ pub trait Service<Request: Message, Response: Message>:
150148
{
151149
/// Connect a request message box to the server box under construction
152150
fn add_requester(&mut self, response_sender: DynSender<Response>) -> DynSender<Request>;
153-
154-
fn add_client(
155-
&mut self,
156-
client: &mut (impl MessageSource<Request, NoConfig> + MessageSink<Response>),
157-
);
158151
}
159152

160153
impl<T, Request: Message, Response: Message> Service<Request, Response> for T
@@ -168,12 +161,4 @@ where
168161
};
169162
request_sender.into()
170163
}
171-
172-
fn add_client(
173-
&mut self,
174-
client: &mut (impl MessageSource<Request, NoConfig> + MessageSink<Response>),
175-
) {
176-
let request_sender = self.add_requester(client.get_sender());
177-
client.register_peer(NoConfig, request_sender);
178-
}
179164
}

0 commit comments

Comments
 (0)