Compare commits

...
3 Commits
5 changed files with 12 additions and 5 deletions
Generated
+1 -1
View File
@@ -435,7 +435,7 @@ dependencies = [
[[package]]
name = "nostr-rs-relay"
version = "0.1.4"
version = "0.1.5"
dependencies = [
"bitcoin_hashes",
"env_logger",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "nostr-rs-relay"
version = "0.1.4"
version = "0.1.5"
edition = "2021"
[dependencies]
+1 -1
View File
@@ -53,7 +53,7 @@ impl ClientConn {
v.push(id);
}
}
return v;
v
}
/// Add a new subscription for this connection.
+9 -1
View File
@@ -18,6 +18,7 @@ use tokio::sync::broadcast;
use tokio::sync::broadcast::{Receiver, Sender};
use tokio::sync::mpsc;
use tokio::sync::oneshot;
use tungstenite::protocol::WebSocketConfig;
/// Start running a Nostr relay server.
fn main() -> Result<(), Error> {
@@ -93,8 +94,15 @@ async fn nostr_server(
) {
// get a broadcast channel for clients to communicate on
let mut bcast_rx = broadcast.subscribe();
// websocket configuration / limits
let config = WebSocketConfig {
max_send_queue: None,
max_message_size: Some(2 << 19), // 512K
max_frame_size: Some(2 << 19), // 512k
accept_unmasked_frames: false, // follow the spec
};
// upgrade the TCP connection to WebSocket
let conn = tokio_tungstenite::accept_async(stream).await;
let conn = tokio_tungstenite::accept_async_with_config(stream, Some(config)).await;
let ws_stream = conn.expect("websocket handshake error");
// wrap websocket into a stream & sink of Nostr protocol messages
let mut nostr_stream = protostream::wrap_ws_in_nostr(ws_stream);
-1
View File
@@ -16,7 +16,6 @@ pub struct Subscription {
/// element can be present if it should be used in filtering, or
/// absent ([`None`]) if it should be ignored.
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
#[serde(deny_unknown_fields)]
pub struct ReqFilter {
/// Event hash
pub id: Option<String>,