Skip to content

Commit 77170b4

Browse files
committed
Add websocket server child spec method.
1 parent 4cdf19f commit 77170b4

File tree

6 files changed

+30
-5
lines changed

6 files changed

+30
-5
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66

77
### Fixed
88

9+
# 0.1.33
10+
11+
### Added
12+
- Added `WebsocketServer::child_spec()` to make it easier to supervise the server.
13+
914
# 0.1.32
1015

1116
### Changed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ tracing = { version = "0.1", default-features = false, features = ["std"] }
3333
tracing-subscriber = "0.3"
3434
dashmap = "6.0.1"
3535

36-
hydra-macros = { version = "0.1.32", path = "./hydra-macros" }
37-
hydra = { version = "0.1.32", path = "./hydra", default-features = false }
36+
hydra-macros = { version = "0.1.33", path = "./hydra-macros" }
37+
hydra = { version = "0.1.33", path = "./hydra", default-features = false }
3838

3939
[profile.release]
4040
lto = "fat"

hydra-macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hydra-macros"
3-
version = "0.1.32"
3+
version = "0.1.33"
44
edition = "2021"
55
license.workspace = true
66
repository.workspace = true

hydra-websockets/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hydra-websockets"
3-
version = "0.1.32"
3+
version = "0.1.33"
44
edition = "2021"
55
readme = "./README.md"
66
license.workspace = true

hydra-websockets/src/websocket_server.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ use tungstenite::protocol::WebSocketConfig;
1818
#[cfg(feature = "native-tls")]
1919
use tokio_native_tls::TlsAcceptor;
2020

21+
use hydra::ChildSpec;
2122
use hydra::ExitReason;
2223
use hydra::GenServer;
24+
use hydra::GenServerOptions;
2325
use hydra::Pid;
2426
use hydra::Process;
2527
use hydra::ProcessFlags;
@@ -52,6 +54,24 @@ where
5254
}
5355
}
5456

57+
impl<T> WebsocketServer<T>
58+
where
59+
T: WebsocketHandler + Send + Sync + 'static,
60+
{
61+
pub fn child_spec(self) -> ChildSpec {
62+
ChildSpec::new("WebsocketServer").start(move || {
63+
WebsocketServer::start_link(
64+
WebsocketServer {
65+
config: self.config.clone(),
66+
server: None,
67+
_handler: PhantomData::<T>,
68+
},
69+
GenServerOptions::new(),
70+
)
71+
})
72+
}
73+
}
74+
5575
impl<T> GenServer for WebsocketServer<T>
5676
where
5777
T: WebsocketHandler + Send + 'static,

hydra/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hydra"
3-
version = "0.1.32"
3+
version = "0.1.33"
44
edition = "2021"
55
readme.workspace = true
66
license.workspace = true

0 commit comments

Comments
 (0)