upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/test_utils/src/relay.rs
diff options
context:
space:
mode:
Diffstat (limited to 'test_utils/src/relay.rs')
-rw-r--r--test_utils/src/relay.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/test_utils/src/relay.rs b/test_utils/src/relay.rs
index ce618a3..db6a96c 100644
--- a/test_utils/src/relay.rs
+++ b/test_utils/src/relay.rs
@@ -91,12 +91,6 @@ impl<'a> Relay<'a> {
91 self.respond_eose(client_id, subscription_id.clone()) 91 self.respond_eose(client_id, subscription_id.clone())
92 } 92 }
93 93
94 pub fn shutdown(&mut self) -> Result<()> {
95 let (mut socket, _) = tungstenite::connect(format!("ws://localhost:{}", self.port))?;
96 socket.write(tungstenite::Message::text("shut me down"))?;
97 socket.close(None)?;
98 Ok(())
99 }
100 /// listen, collect events and responds with event_listener to events or 94 /// listen, collect events and responds with event_listener to events or
101 /// Ok(eventid) if event_listner is None 95 /// Ok(eventid) if event_listner is None
102 pub async fn listen_until_close(&mut self) -> Result<()> { 96 pub async fn listen_until_close(&mut self) -> Result<()> {
@@ -159,9 +153,14 @@ impl<'a> Relay<'a> {
159} 153}
160 154
161pub fn shutdown_relay(port: u64) -> Result<()> { 155pub fn shutdown_relay(port: u64) -> Result<()> {
162 let (mut socket, _) = tungstenite::connect(format!("ws://localhost:{}", port))?; 156 let mut counter = 0;
163 socket.write(tungstenite::Message::text("shut me down"))?; 157 while let Ok((mut socket, _)) = tungstenite::connect(format!("ws://localhost:{}", port)) {
164 socket.close(None)?; 158 counter += 1;
159 if counter == 1 {
160 socket.write(tungstenite::Message::text("shut me down"))?;
161 }
162 socket.close(None)?;
163 }
165 Ok(()) 164 Ok(())
166} 165}
167 166