diff --git a/Cargo.lock b/Cargo.lock
index ef62024..6197be1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -639,6 +639,7 @@ dependencies = [
"futures-util",
"log",
"ntru",
+ "r2d2_sqlite",
"regex",
"rusqlite",
"serde",
@@ -744,9 +745,9 @@ checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235"
[[package]]
name = "libsqlite3-sys"
-version = "0.20.1"
+version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d31059f22935e6c31830db5249ba2b7ecd54fd73a9909286f0a67aa55c2fbd"
+checksum = "19cb1effde5f834799ac5e5ef0e40d45027cd74f271b1de786ba8abb30e2164d"
dependencies = [
"pkg-config",
"vcpkg",
@@ -1077,6 +1078,27 @@ dependencies = [
"proc-macro2",
]
+[[package]]
+name = "r2d2"
+version = "0.8.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f"
+dependencies = [
+ "log",
+ "parking_lot",
+ "scheduled-thread-pool",
+]
+
+[[package]]
+name = "r2d2_sqlite"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d24607049214c5e42d3df53ac1d8a23c34cc6a5eefe3122acb2c72174719959"
+dependencies = [
+ "r2d2",
+ "rusqlite",
+]
+
[[package]]
name = "rand"
version = "0.7.3"
@@ -1207,9 +1229,9 @@ dependencies = [
[[package]]
name = "rusqlite"
-version = "0.24.2"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38ee71cbab2c827ec0ac24e76f82eca723cee92c509a65f67dee393c25112"
+checksum = "fbc783b7ddae608338003bac1fa00b6786a75a9675fbd8e87243ecfdea3f6ed2"
dependencies = [
"bitflags",
"chrono",
@@ -1263,6 +1285,15 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "scheduled-thread-pool"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc6f74fd1204073fa02d5d5d68bec8021be4c38690b61264b2fdb48083d0e7d7"
+dependencies = [
+ "parking_lot",
+]
+
[[package]]
name = "scopeguard"
version = "1.1.0"
@@ -1377,9 +1408,9 @@ checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
[[package]]
name = "smallvec"
-version = "1.4.2"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252"
+checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
[[package]]
name = "socket2"
diff --git a/Cargo.toml b/Cargo.toml
index dc96674..6f347d0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -8,7 +8,7 @@ edition = "2018"
[dependencies]
ntru = "0.5.6"
-rusqlite = {version = "0.24.2", features = ["chrono"]}
+rusqlite = {version = "0.25.1", features = ["chrono"]}
toml = "0.5.8"
tungstenite = "0.12.0"
tokio = { version = "0.3.3", features = ["full"] }
@@ -25,6 +25,7 @@ simple_logger = "1.11.0"
chrono = {version = "0.4.19", features = ["serde"]}
uuid = {version = "0.8.2", features = ["serde" , "v4"]}
regex = "1.4.5"
+r2d2_sqlite = "0.18.0"
[dependencies.fcpv2]
path = "../FCPv2"
diff --git a/log b/log
new file mode 100644
index 0000000..503d094
--- /dev/null
+++ b/log
@@ -0,0 +1,1705 @@
+2021-04-23 10:05:13,226 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:13,226 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:13,226 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:13,226 TRACE [polling::epoll] add: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: false, writable: false }
+2021-04-23 10:05:13,226 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:13,226 TRACE [mio::poll] registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
+2021-04-23 10:05:13,229 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:13,229 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:13,230 TRACE [mio::poll] registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
+2021-04-23 10:05:13,231 TRACE [async_io::driver] block_on: notified
+2021-04-23 10:05:13,226 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:13,231 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:13,226 TRACE [polling::epoll] add: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:13,231 TRACE [polling::epoll] new: epoll_fd=10, event_fd=11, timer_fd=Some(12)
+2021-04-23 10:05:13,231 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:13,231 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:13,231 INFO [hole::chat::serv_conn] Connected to FCP
+2021-04-23 10:05:13,231 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:13,231 TRACE [async_std::task::builder] spawn
+2021-04-23 10:05:13,231 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:13,232 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:13,232 TRACE [polling::epoll] add: epoll_fd=10, fd=13, ev=Event { key: 0, readable: false, writable: false }
+2021-04-23 10:05:13,232 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:13,232 TRACE [polling::epoll] modify: epoll_fd=10, fd=13, ev=Event { key: 0, readable: true, writable: false }
+2021-04-23 10:05:13,232 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:13,232 TRACE [polling] Poller::notify()
+2021-04-23 10:05:13,232 TRACE [async_io::driver] main_loop: sleeping for 100 us
+2021-04-23 10:05:13,232 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:13,231 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:13,232 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:13,232 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:13,232 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:13,232 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:13,232 TRACE [async_io::driver] main_loop: sleeping for 250 us
+2021-04-23 10:05:13,232 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:13,233 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:13,233 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:13,233 TRACE [async_io::driver] block_on: notified
+2021-04-23 10:05:13,233 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:13,233 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:13,233 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:13,233 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:13,233 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:13,233 TRACE [async_io::driver] main_loop: sleeping for 500 us
+2021-04-23 10:05:13,233 TRACE [polling] Poller::notify()
+2021-04-23 10:05:13,233 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:13,234 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:13,234 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:13,234 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:13,234 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:13,234 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:13,234 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:13,234 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:13,234 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:13,234 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:13,234 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:13,235 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:13,235 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:13,235 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:13,235 TRACE [async_io::driver] main_loop: sleeping for 100 us
+2021-04-23 10:05:13,235 TRACE [async_io::driver] main_loop: sleeping for 250 us
+2021-04-23 10:05:13,236 TRACE [async_io::driver] main_loop: sleeping for 500 us
+2021-04-23 10:05:13,237 TRACE [async_io::driver] main_loop: sleeping for 750 us
+2021-04-23 10:05:13,238 TRACE [async_io::driver] main_loop: sleeping for 1000 us
+2021-04-23 10:05:13,240 TRACE [async_io::driver] main_loop: sleeping for 2500 us
+2021-04-23 10:05:13,242 TRACE [async_io::driver] main_loop: sleeping for 5000 us
+2021-04-23 10:05:13,248 TRACE [async_io::driver] main_loop: sleeping for 10000 us
+2021-04-23 10:05:16,370 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:16,370 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,370 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:16,370 TRACE [polling::epoll] add: epoll_fd=10, fd=15, ev=Event { key: 1, readable: false, writable: false }
+2021-04-23 10:05:16,370 INFO [hole::chat::front_conn] Peer address: 127.0.0.1:48924
+2021-04-23 10:05:16,370 TRACE [async_tungstenite::handshake] Setting ctx when starting handshake
+2021-04-23 10:05:16,370 TRACE [tungstenite::handshake::server] Server handshake initiated.
+2021-04-23 10:05:16,371 TRACE [tungstenite::handshake::machine] Doing handshake round.
+2021-04-23 10:05:16,371 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:16,371 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,371 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:16,371 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:16,371 TRACE [async_tungstenite::handshake] Setting context in handshake
+2021-04-23 10:05:16,371 TRACE [tungstenite::handshake::machine] Doing handshake round.
+2021-04-23 10:05:16,371 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:16,371 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,371 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:16,371 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:16,372 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:16,372 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:16,372 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,372 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:16,372 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:16,372 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,372 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:16,372 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,372 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:16,372 TRACE [async_tungstenite::handshake] Setting context in handshake
+2021-04-23 10:05:16,372 TRACE [tungstenite::handshake::machine] Doing handshake round.
+2021-04-23 10:05:16,373 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:16,373 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,373 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:16,373 TRACE [tungstenite::handshake::machine] Doing handshake round.
+2021-04-23 10:05:16,373 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:16,373 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,373 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:16,373 DEBUG [tungstenite::handshake::server] Server handshake done.
+2021-04-23 10:05:16,373 INFO [hole::chat::front_conn] connected to: 127.0.0.1:48924
+2021-04-23 10:05:16,373 DEBUG [hole::chat::front_conn] launching repeater...
+2021-04-23 10:05:16,374 TRACE [async_std::task::builder] spawn
+2021-04-23 10:05:16,374 TRACE [polling] Poller::notify()
+2021-04-23 10:05:16,374 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:16,374 TRACE [async_std::task::builder] spawn
+2021-04-23 10:05:16,374 TRACE [async_std::task::builder] spawn
+2021-04-23 10:05:16,374 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:16,374 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:16,374 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:16,374 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:16,374 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,374 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:16,374 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:16,374 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,374 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:16,374 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,374 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,374 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:16,374 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:16,375 DEBUG [hole::chat::stay_awake] Request Repeater Started!
+tset
+2021-04-23 10:05:16,378 INFO [hole::chat::front_conn] Connection for sending launched
+2021-04-23 10:05:16,378 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:16,378 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,378 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:16,378 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,378 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,379 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,379 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,379 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:16,379 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,379 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:16,379 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:16,379 TRACE [async_tungstenite::compat] WouldBlock
+2021-04-23 10:05:16,380 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:16,380 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,380 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:16,380 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:16,380 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,380 TRACE [async_io::driver] block_on: sleep until notification
+tset
+2021-04-23 10:05:16,386 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:16,386 INFO [hole::chat::front_conn] Connection for receiving launched
+2021-04-23 10:05:16,386 TRACE [async_io::driver] main_loop: sleeping for 100 us
+2021-04-23 10:05:16,386 TRACE [async_io::driver] main_loop: sleeping for 250 us
+2021-04-23 10:05:16,386 TRACE [async_io::driver] main_loop: sleeping for 500 us
+2021-04-23 10:05:16,387 TRACE [async_io::driver] main_loop: sleeping for 750 us
+2021-04-23 10:05:16,387 DEBUG [hole::chat::stay_awake] Config gotted: "id = \"d63f0037-3daf-49fe-8728-34086da0a27f\"\npublicKey = \"SSK@dp0sjzo69X1kPNpedzY1c~oQEZUWO45D~JQ96mJCnVw,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQECAAE\"\nprivateKey = \"SSK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE\"\n"
+2021-04-23 10:05:16,388 TRACE [async_io::driver] main_loop: sleeping for 1000 us
+2021-04-23 10:05:16,389 TRACE [async_io::driver] main_loop: sleeping for 2500 us
+2021-04-23 10:05:16,391 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:16,392 TRACE [async_io::driver] main_loop: sleeping for 5000 us
+2021-04-23 10:05:16,399 TRACE [async_io::driver] main_loop: sleeping for 10000 us
+2021-04-23 10:05:16,406 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:16,406 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:16,406 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:16,406 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,407 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:16,407 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:16,407 TRACE [polling] Poller::notify()
+2021-04-23 10:05:16,407 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:16,407 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:16,407 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,407 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:16,407 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,407 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,407 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,407 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,407 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:16,407 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,407 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:16,408 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 147]
+2021-04-23 10:05:16,408 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:16,408 TRACE [tungstenite::protocol::frame::frame] Second: 10010011
+2021-04-23 10:05:16,408 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:16,408 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:16,408 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 25
+payload length: 19
+payload: 0xd7675570dc203338e365568de316079dc675c
+
+2021-04-23 10:05:16,408 TRACE [tungstenite::protocol] Received message {"type":"startApp"}
+2021-04-23 10:05:16,408 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:16,408 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:16,408 DEBUG [hole::chat::serv_handler] SENDED ClientHello
+Name=start_app_request
+ExpectedVersion=2.0
+EndMessage
+
+
+2021-04-23 10:05:16,408 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:16,408 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:16,408 DEBUG [hole::api::handlers] Responsing to start_app: id = "d63f0037-3daf-49fe-8728-34086da0a27f"
+publicKey = "SSK@dp0sjzo69X1kPNpedzY1c~oQEZUWO45D~JQ96mJCnVw,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQECAAE"
+privateKey = "SSK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE"
+
+2021-04-23 10:05:16,408 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:16,408 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,408 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:16,408 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:16,409 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+tset
+2021-04-23 10:05:16,409 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:16,409 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,409 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,409 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:16,409 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:16,409 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:16,409 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,409 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:16,409 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:16,409 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,411 DEBUG [hole::chat::serv_conn] unhandled: NodeHello
+2021-04-23 10:05:16,413 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:16,413 TRACE [polling] Poller::notify()
+2021-04-23 10:05:16,413 DEBUG [hole::chat::front_conn] Got:
+ NodeHello
+CompressionCodecs=4 - GZIP(0), BZIP2(1), LZMA(2), LZMA_NEW(3)
+Revision=build01490
+Testnet=false
+Version=Fred,0.7,1.0,1490
+Build=1490
+ConnectionIdentifier=13541269fb1b0c248f14314a0027b8f9
+Node=Fred
+ExtBuild=29
+FCPVersion=2.0
+NodeLanguage=ENGLISH
+ExtRevision=v29
+EndMessage
+
+2021-04-23 10:05:16,413 TRACE [async_io::driver] block_on: sleep until notification
+tset
+2021-04-23 10:05:16,413 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:16,416 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:16,416 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,416 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,416 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:16,416 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:16,416 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:16,416 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:16,416 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:16,416 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:16,416 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:16,416 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:16,419 INFO [hole::chat::serv_handler] Message sended to client thread
+2021-04-23 10:05:16,419 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:16,419 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:16,419 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,419 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,419 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,419 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,419 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,419 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,419 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,419 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,419 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,419 TRACE [tungstenite::protocol] Frames still in queue: 1
+2021-04-23 10:05:16,420 TRACE [tungstenite::protocol] Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [123, 34, 116, 121, 112, 101, 34, 58, 34, 105, 110, 105, 116, 105, 97, 108, 67, 111, 110, 102, 105, 103, 34, 44, 34, 105, 100, 34, 58, 34, 100, 54, 51, 102, 48, 48, 51, 55, 45, 51, 100, 97, 102, 45, 52, 57, 102, 101, 45, 56, 55, 50, 56, 45, 51, 52, 48, 56, 54, 100, 97, 48, 97, 50, 55, 102, 34, 44, 34, 112, 117, 98, 108, 105, 99, 75, 101, 121, 34, 58, 34, 83, 83, 75, 64, 100, 112, 48, 115, 106, 122, 111, 54, 57, 88, 49, 107, 80, 78, 112, 101, 100, 122, 89, 49, 99, 126, 111, 81, 69, 90, 85, 87, 79, 52, 53, 68, 126, 74, 81, 57, 54, 109, 74, 67, 110, 86, 119, 44, 54, 104, 86, 100, 116, 68, 67, 100, 57, 78, 107, 45, 78, 89, 112, 65, 114, 118, 120, 97, 52, 89, 116, 99, 74, 49, 87, 104, 112, 85, 52, 68, 85, 117, 81, 51, 54, 84, 98, 106, 49, 71, 56, 44, 65, 81, 69, 67, 65, 65, 69, 34, 44, 34, 112, 114, 105, 118, 97, 116, 101, 75, 101, 121, 34, 58, 34, 83, 83, 75, 64, 72, 57, 70, 65, 72, 73, 99, 66, 65, 102, 86, 69, 108, 80, 107, 81, 110, 78, 70, 78, 53, 111, 99, 49, 85, 105, 49, 104, 97, 86, 84, 84, 108, 52, 76, 70, 106, 104, 50, 74, 48, 83, 77, 44, 54, 104, 86, 100, 116, 68, 67, 100, 57, 78, 107, 45, 78, 89, 112, 65, 114, 118, 120, 97, 52, 89, 116, 99, 74, 49, 87, 104, 112, 85, 52, 68, 85, 117, 81, 51, 54, 84, 98, 106, 49, 71, 56, 44, 65, 81, 65, 67, 65, 65, 69, 34, 125] }
+2021-04-23 10:05:16,420 TRACE [tungstenite::protocol::frame] writing frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 301
+payload length: 297
+payload: 0x7b2274797065223a22696e697469616c436f6e666967222c226964223a2264363366303033372d336461662d343966652d383732382d333430383664613061323766222c227075626c69634b6579223a2253534b40647030736a7a6f363958316b504e7065647a5931637e6f51455a55574f3435447e4a5139366d4a436e56772c3668566474444364394e6b2d4e59704172767861345974634a31576870553444557551333654626a3147382c41514543414145222c22707269766174654b6579223a2253534b404839464148496342416656456c506b516e4e464e356f633155693168615654546c344c466a68324a30534d2c3668566474444364394e6b2d4e59704172767861345974634a31576870553444557551333654626a3147382c41514143414145227d
+
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,420 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,420 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,420 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,420 TRACE [async_io::driver] block_on: completed
+2021-04-23 10:05:16,421 DEBUG [hole::chat::front_conn] Message sended to frontend: {"type":"initialConfig","id":"d63f0037-3daf-49fe-8728-34086da0a27f","publicKey":"SSK@dp0sjzo69X1kPNpedzY1c~oQEZUWO45D~JQ96mJCnVw,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQECAAE","privateKey":"SSK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE"}
+2021-04-23 10:05:16,421 DEBUG [hole::api::handlers] Responsing to start_app
+2021-04-23 10:05:16,421 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:16,421 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,421 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:16,421 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,421 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,421 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 148]
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol::frame::frame] Second: 10010100
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 26
+payload length: 20
+payload: 0xef3f9c2e4785f81b67112daf048edee66e5fc6
+
+2021-04-23 10:05:16,421 TRACE [tungstenite::protocol] Received message {"type":"loadUsers"}
+2021-04-23 10:05:16,421 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:16,421 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:16,426 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:16,429 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:16,430 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:16,430 INFO [hole::chat::serv_handler] Message sended to client thread
+2021-04-23 10:05:16,430 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:16,430 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:16,430 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,430 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,430 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,430 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,431 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,431 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,431 TRACE [tungstenite::protocol] Frames still in queue: 1
+2021-04-23 10:05:16,431 TRACE [tungstenite::protocol] Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [123, 34, 116, 121, 112, 101, 34, 58, 34, 117, 115, 101, 114, 76, 105, 115, 116, 34, 44, 34, 117, 115, 101, 114, 115, 34, 58, 91, 123, 34, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 44, 34, 110, 97, 109, 101, 34, 58, 34, 74, 97, 99, 107, 34, 44, 34, 115, 105, 103, 110, 75, 101, 121, 34, 58, 34, 102, 111, 111, 34, 44, 34, 105, 110, 115, 101, 114, 116, 75, 101, 121, 34, 58, 34, 83, 83, 75, 64, 82, 74, 126, 117, 65, 67, 77, 72, 80, 102, 105, 97, 79, 85, 109, 119, 71, 100, 104, 53, 103, 66, 78, 110, 68, 98, 71, 101, 76, 106, 114, 49, 84, 86, 99, 118, 66, 77, 70, 99, 100, 87, 77, 44, 107, 53, 86, 100, 55, 82, 119, 113, 79, 85, 99, 88, 103, 75, 71, 84, 108, 126, 99, 82, 52, 99, 85, 111, 114, 75, 118, 50, 52, 77, 52, 82, 126, 116, 67, 66, 65, 85, 112, 50, 121, 90, 111, 44, 65, 81, 69, 67, 65, 65, 69, 34, 44, 34, 109, 101, 115, 115, 97, 103, 101, 115, 67, 111, 117, 110, 116, 34, 58, 48, 44, 34, 109, 121, 77, 101, 115, 115, 97, 103, 101, 115, 67, 111, 117, 110, 116, 34, 58, 50, 52, 125, 44, 123, 34, 105, 100, 34, 58, 34, 50, 100, 49, 50, 99, 51, 48, 53, 45, 101, 98, 55, 57, 45, 52, 56, 57, 99, 45, 98, 54, 52, 51, 45, 102, 50, 55, 102, 49, 101, 55, 56, 97, 55, 99, 48, 34, 44, 34, 110, 97, 109, 101, 34, 58, 34, 70, 111, 114, 84, 101, 115, 116, 105, 110, 103, 34, 44, 34, 115, 105, 103, 110, 75, 101, 121, 34, 58, 34, 116, 101, 115, 116, 105, 110, 103, 34, 44, 34, 105, 110, 115, 101, 114, 116, 75, 101, 121, 34, 58, 34, 83, 83, 75, 64, 65, 73, 51, 107, 66, 111, 120, 65, 77, 84, 90, 66, 119, 65, 108, 74, 109, 70, 97, 116, 120, 49, 114, 112, 56, 50, 49, 85, 74, 45, 113, 118, 82, 66, 66, 72, 103, 77, 120, 105, 109, 55, 97, 99, 44, 75, 49, 113, 49, 49, 98, 70, 48, 72, 81, 49, 79, 108, 52, 88, 104, 77, 86, 119, 73, 51, 57, 53, 88, 110, 97, 112, 49, 98, 51, 74, 85, 107, 99, 75, 71, 115, 104, 80, 100, 103, 70, 119, 44, 65, 81, 69, 67, 65, 65, 69, 34, 44, 34, 109, 101, 115, 115, 97, 103, 101, 115, 67, 111, 117, 110, 116, 34, 58, 48, 44, 34, 109, 121, 77, 101, 115, 115, 97, 103, 101, 115, 67, 111, 117, 110, 116, 34, 58, 48, 125, 93, 125] }
+2021-04-23 10:05:16,431 TRACE [tungstenite::protocol::frame] writing frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 501
+payload length: 497
+payload: 0x7b2274797065223a22757365724c697374222c227573657273223a5b7b226964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164222c226e616d65223a224a61636b222c227369676e4b6579223a22666f6f222c22696e736572744b6579223a2253534b40524a7e7541434d48506669614f556d774764683567424e6e446247654c6a723154566376424d466364574d2c6b355664375277714f556358674b47546c7e63523463556f724b7632344d34527e74434241557032795a6f2c41514543414145222c226d65737361676573436f756e74223a302c226d794d65737361676573436f756e74223a32347d2c7b226964223a2232643132633330352d656237392d343839632d623634332d663237663165373861376330222c226e616d65223a22466f7254657374696e67222c227369676e4b6579223a2274657374696e67222c22696e736572744b6579223a2253534b404149336b426f78414d545a4277416c4a6d46617478317270383231554a2d717652424248674d78696d3761632c4b317131316246304851314f6c3458684d567749333935586e61703162334a556b634b47736850646746772c41514543414145222c226d65737361676573436f756e74223a302c226d794d65737361676573436f756e74223a307d5d7d
+
+2021-04-23 10:05:16,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:16,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,432 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,432 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,432 TRACE [async_io::driver] block_on: completed
+2021-04-23 10:05:16,432 DEBUG [hole::chat::front_conn] Message sended to frontend: {"type":"userList","users":[{"id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d","name":"Jack","signKey":"foo","insertKey":"SSK@RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM,k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo,AQECAAE","messagesCount":0,"myMessagesCount":24},{"id":"2d12c305-eb79-489c-b643-f27f1e78a7c0","name":"ForTesting","signKey":"testing","insertKey":"SSK@AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac,K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw,AQECAAE","messagesCount":0,"myMessagesCount":0}]}
+2021-04-23 10:05:16,432 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:16,432 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:16,432 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,432 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:16,432 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:16,433 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:16,433 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:16,433 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:16,433 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:16,433 TRACE [async_tungstenite::compat] WouldBlock
+2021-04-23 10:05:16,433 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:17,706 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:17,706 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:17,706 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:17,706 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:17,707 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:17,707 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:17,707 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:17,709 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:17,712 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:17,712 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:18,265 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:18,265 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:18,265 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:18,265 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:18,265 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:18,265 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:18,265 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:18,266 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:18,266 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:18,266 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:18,266 TRACE [polling] Poller::notify()
+2021-04-23 10:05:18,266 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:18,266 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:18,266 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:18,266 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:18,266 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:18,266 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:18,265 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:18,267 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:18,267 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:18,267 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:18,267 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:18,267 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:18,267 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:18,267 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:18,267 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:18,267 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:18,267 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:18,268 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,268 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:18,268 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:18,268 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:18,268 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,268 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:18,268 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 225]
+2021-04-23 10:05:18,269 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:18,269 TRACE [tungstenite::protocol::frame::frame] Second: 11100001
+2021-04-23 10:05:18,269 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:18,269 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:18,269 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 103
+payload length: 97
+payload: 0x93137b698542d45ca5d601e8c7c6ac9b50681a9b13235d9d426ada1552d45ca36b4eda523c4fdd1c6a1ddf8224bd086c528a73b4cc5573d488e06a48d050381cd813235d8b5e7a119c13354ed81d2dc9c507dba15f6b1a9013354f95
+
+2021-04-23 10:05:18,269 TRACE [tungstenite::protocol] Received message {"type":"loadMessages","userId":"2d12c305-eb79-489c-b643-f27f1e78a7c0","count":10,"startIndex":0}
+2021-04-23 10:05:18,269 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:18,269 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:18,270 INFO [hole::db::messages] All messages loaded to memory
+2021-04-23 10:05:18,271 DEBUG [hole::db::messages] []
+2021-04-23 10:05:18,271 INFO [hole::chat::serv_handler] Message sended to client thread
+2021-04-23 10:05:18,271 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:18,271 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:18,271 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:18,271 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:18,271 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,271 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:18,271 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:18,271 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:18,271 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:18,272 TRACE [tungstenite::protocol] Frames still in queue: 1
+2021-04-23 10:05:18,272 TRACE [tungstenite::protocol] Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 93] }
+2021-04-23 10:05:18,272 TRACE [tungstenite::protocol::frame] writing frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 4
+payload length: 2
+payload: 0x5b5d
+
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,272 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:18,273 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:18,273 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:18,273 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,273 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:18,273 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:18,273 TRACE [async_io::driver] block_on: completed
+2021-04-23 10:05:18,273 DEBUG [hole::chat::front_conn] Message sended to frontend: []
+2021-04-23 10:05:18,273 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:18,273 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:18,273 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:18,273 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:18,273 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,273 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:18,273 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:18,274 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:18,274 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:18,274 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:18,274 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:18,274 TRACE [async_tungstenite::compat] WouldBlock
+2021-04-23 10:05:18,274 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:19,013 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:19,013 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:19,014 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:19,014 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:19,015 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:19,015 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:19,016 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:19,020 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:19,020 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:19,021 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+Global=false
+EndMessage
+IdentifierCollision
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:19,022 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:19,022 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:19,032 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:19,049 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:19,049 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:20,207 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:20,208 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:20,214 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:20,216 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:20,217 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:20,350 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:20,350 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:20,350 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:20,350 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:20,350 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:20,350 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:20,350 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:20,352 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:20,352 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:20,352 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:20,352 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:20,352 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:20,354 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:20,357 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:20,358 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:21,639 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:21,640 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:21,640 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:21,640 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:21,641 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:21,658 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:21,659 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:21,659 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:21,659 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:21,660 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:21,660 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:21,661 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:21,664 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:21,665 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:21,666 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:21,667 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:21,667 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:21,687 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:21,726 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:21,726 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:22,681 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:22,682 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:22,682 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:22,682 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:22,683 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:22,683 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:22,683 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:22,683 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:22,684 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:22,684 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:22,689 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:22,690 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:22,690 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:22,690 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:22,690 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,690 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:22,691 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:22,692 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:22,692 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,697 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:22,697 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:22,698 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 225]
+2021-04-23 10:05:22,698 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:22,698 TRACE [tungstenite::protocol::frame::frame] Second: 11100001
+2021-04-23 10:05:22,698 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:22,698 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:22,699 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 103
+payload length: 97
+payload: 0x7bdba729709cf16a2295bc3164b4b6237398b43573dbff72758ab622499df16a22c1eb3661cce76962d4e73564cbfe6439cbe47d62ceb0352d98b16262cab13663cce66164dbff726396a63e74dbe96130d5f1237498a1244997b73578dbe9607d
+
+2021-04-23 10:05:22,699 TRACE [tungstenite::protocol] Received message {"type":"loadMessages","userId":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d","count":10,"startIndex":0}
+2021-04-23 10:05:22,700 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:22,700 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:22,701 INFO [hole::db::messages] Message: Ok(Message { id: 22, date: 2021-04-22T18:40:37.989775900+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,702 INFO [hole::db::messages] Message: Ok(Message { id: 20, date: 2021-04-22T18:40:37.844596459+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,702 INFO [hole::db::messages] Message: Ok(Message { id: 18, date: 2021-04-22T18:40:37.714170922+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,703 INFO [hole::db::messages] Message: Ok(Message { id: 16, date: 2021-04-22T18:40:37.581089113+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,703 INFO [hole::db::messages] Message: Ok(Message { id: 14, date: 2021-04-22T18:40:37.432847143+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,704 INFO [hole::db::messages] Message: Ok(Message { id: 12, date: 2021-04-22T18:40:37.396670040+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,704 INFO [hole::db::messages] Message: Ok(Message { id: 10, date: 2021-04-22T18:40:37.239896598+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,705 INFO [hole::db::messages] Message: Ok(Message { id: 8, date: 2021-04-22T18:40:37.049990869+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,705 INFO [hole::db::messages] Message: Ok(Message { id: 6, date: 2021-04-22T18:40:36.912055048+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,713 INFO [hole::db::messages] Message: Ok(Message { id: 4, date: 2021-04-22T18:40:36.789330452+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:22,713 INFO [hole::db::messages] All messages loaded to memory
+2021-04-23 10:05:22,713 DEBUG [hole::db::messages] [Message { id: 22, date: 2021-04-22T18:40:37.989775900+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 20, date: 2021-04-22T18:40:37.844596459+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 18, date: 2021-04-22T18:40:37.714170922+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 16, date: 2021-04-22T18:40:37.581089113+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 14, date: 2021-04-22T18:40:37.432847143+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 12, date: 2021-04-22T18:40:37.396670040+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 10, date: 2021-04-22T18:40:37.239896598+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 8, date: 2021-04-22T18:40:37.049990869+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 6, date: 2021-04-22T18:40:36.912055048+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 4, date: 2021-04-22T18:40:36.789330452+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }]
+2021-04-23 10:05:22,715 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:22,715 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:22,715 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:22,716 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:22,716 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,716 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:22,716 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:22,716 INFO [hole::chat::serv_handler] Message sended to client thread
+2021-04-23 10:05:22,721 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:22,722 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:22,723 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:22,723 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:22,723 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,723 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:22,724 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:22,724 TRACE [async_tungstenite::compat] WouldBlock
+2021-04-23 10:05:22,724 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:22,724 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:22,724 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,724 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:22,724 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:22,724 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:22,724 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:22,724 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,725 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:22,725 TRACE [tungstenite::protocol] Frames still in queue: 1
+2021-04-23 10:05:22,725 TRACE [tungstenite::protocol] Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 57, 56, 57, 55, 55, 53, 57, 48, 48, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 50, 50, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 56, 52, 52, 53, 57, 54, 52, 53, 57, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 50, 48, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 55, 49, 52, 49, 55, 48, 57, 50, 50, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 56, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 53, 56, 49, 48, 56, 57, 49, 49, 51, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 54, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 52, 51, 50, 56, 52, 55, 49, 52, 51, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 52, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 51, 57, 54, 54, 55, 48, 48, 52, 48, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 50, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 50, 51, 57, 56, 57, 54, 53, 57, 56, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 48, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 48, 52, 57, 57, 57, 48, 56, 54, 57, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 56, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 54, 46, 57, 49, 50, 48, 53, 53, 48, 52, 56, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 54, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 54, 46, 55, 56, 57, 51, 51, 48, 52, 53, 50, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 52, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 93] }
+2021-04-23 10:05:22,729 TRACE [tungstenite::protocol::frame] writing frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 1372
+payload length: 1368
+payload: 0x5b7b2264617465223a22323032312d30342d32325431383a34303a33372e3938393737353930302b30333a3030222c2266726f6d5f6d65223a747275652c226964223a32322c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3834343539363435392b30333a3030222c2266726f6d5f6d65223a747275652c226964223a32302c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3731343137303932322b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31382c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3538313038393131332b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31362c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3433323834373134332b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31342c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3339363637303034302b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31322c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3233393839363539382b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31302c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3034393939303836392b30333a3030222c2266726f6d5f6d65223a747275652c226964223a382c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33362e3931323035353034382b30333a3030222c2266726f6d5f6d65223a747275652c226964223a362c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33362e3738393333303435322b30333a3030222c2266726f6d5f6d65223a747275652c226964223a342c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d5d
+
+2021-04-23 10:05:22,733 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:22,733 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,733 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:22,733 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:22,733 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,734 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:22,734 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:22,734 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:22,734 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:22,734 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:22,734 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:22,734 TRACE [async_io::driver] block_on: completed
+2021-04-23 10:05:22,734 DEBUG [hole::chat::front_conn] Message sended to frontend: [{"date":"2021-04-22T18:40:37.989775900+03:00","from_me":true,"id":22,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.844596459+03:00","from_me":true,"id":20,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.714170922+03:00","from_me":true,"id":18,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.581089113+03:00","from_me":true,"id":16,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.432847143+03:00","from_me":true,"id":14,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.396670040+03:00","from_me":true,"id":12,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.239896598+03:00","from_me":true,"id":10,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.049990869+03:00","from_me":true,"id":8,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:36.912055048+03:00","from_me":true,"id":6,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:36.789330452+03:00","from_me":true,"id":4,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"}]
+2021-04-23 10:05:22,737 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:23,027 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:23,027 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:23,028 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:23,028 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:23,029 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:23,029 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:23,030 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:23,035 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:23,035 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:23,036 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+Global=false
+EndMessage
+IdentifierCollision
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:23,036 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:23,037 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:23,054 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:23,073 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:23,073 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:24,092 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:24,092 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:24,093 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:24,093 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:24,093 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:24,094 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:24,094 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:24,094 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:24,094 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:24,095 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:24,095 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:24,095 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,096 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:24,096 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:24,097 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:24,097 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,097 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:24,097 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:24,099 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:24,099 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,099 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:24,099 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 225]
+2021-04-23 10:05:24,100 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:24,100 TRACE [tungstenite::protocol::frame::frame] Second: 11100001
+2021-04-23 10:05:24,100 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:24,100 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:24,101 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 103
+payload length: 97
+payload: 0x35670613e4126226c486b792a69616b3d45637d3d6283a3b57616a74026226c1660297c4737287b9617a791d292c761d67352c12302b6342362f2815612f7645337b7e6283a2d4b71763a63e297e8266b3a45766c74a607d3663e2833
+
+2021-04-23 10:05:24,102 TRACE [tungstenite::protocol] Received message {"type":"loadMessages","userId":"2d12c305-eb79-489c-b643-f27f1e78a7c0","count":10,"startIndex":0}
+2021-04-23 10:05:24,102 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:24,104 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:24,105 INFO [hole::db::messages] All messages loaded to memory
+2021-04-23 10:05:24,105 DEBUG [hole::db::messages] []
+2021-04-23 10:05:24,106 INFO [hole::chat::serv_handler] Message sended to client thread
+2021-04-23 10:05:24,107 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:24,107 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:24,108 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:24,108 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:24,108 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,109 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,109 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:24,110 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:24,110 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:24,110 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:24,110 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,111 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:24,111 TRACE [tungstenite::protocol] Frames still in queue: 1
+2021-04-23 10:05:24,112 TRACE [tungstenite::protocol] Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 93] }
+2021-04-23 10:05:24,112 TRACE [tungstenite::protocol::frame] writing frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 4
+payload length: 2
+payload: 0x5b5d
+
+2021-04-23 10:05:24,112 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:24,119 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,120 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:24,120 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:24,120 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,120 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:24,121 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:24,121 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:24,121 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,121 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:24,121 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:24,122 TRACE [async_io::driver] block_on: completed
+2021-04-23 10:05:24,122 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,122 DEBUG [hole::chat::front_conn] Message sended to frontend: []
+2021-04-23 10:05:24,122 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:24,123 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:24,123 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:24,123 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:24,123 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,124 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:24,124 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:24,125 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:24,125 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:24,126 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:24,126 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:24,126 TRACE [async_tungstenite::compat] WouldBlock
+2021-04-23 10:05:24,126 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,129 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,130 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:24,130 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:24,130 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:24,130 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,374 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:24,374 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:24,374 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:24,374 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:24,374 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:24,374 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:24,374 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:24,374 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,375 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:24,375 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:24,375 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:24,375 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:24,379 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:24,383 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:24,383 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:25,683 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:25,684 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:25,684 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:25,684 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:25,685 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:25,685 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:25,686 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:25,688 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:25,688 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:25,689 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+Global=false
+EndMessage
+IdentifierCollision
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:25,689 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:25,690 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:25,704 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:25,726 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:25,726 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:26,172 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:26,172 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:26,173 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:26,173 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:26,173 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:26,788 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:26,788 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:26,788 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:26,789 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:26,789 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:27,026 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:27,027 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:27,027 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:27,028 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:27,028 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:27,029 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:27,029 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:27,064 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:27,077 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:27,080 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:28,154 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:28,154 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:28,154 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:28,154 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:28,155 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:28,381 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:28,381 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:28,382 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:28,382 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:28,383 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:28,383 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:28,384 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:28,402 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:28,421 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:28,422 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:28,466 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:28,466 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:28,466 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:28,467 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:28,467 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:28,805 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:28,805 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:28,805 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:28,805 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:28,806 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:28,809 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:28,809 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:28,809 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:28,809 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:28,809 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:29,422 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:29,422 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:29,422 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:29,422 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:29,422 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:29,422 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:29,422 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:29,422 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:29,422 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:29,422 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,422 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:29,423 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:29,423 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,423 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 225]
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol::frame::frame] Second: 11100001
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 103
+payload length: 97
+payload: 0x3a687d49312f2ba632666512576c43322b6e553268251234396c4282e2ba63723156207f3d923673d55257824478783e1d237d6a556c2b6b223796b56227f3c12568251222257c5e356833171662b43352b7b448246d5539683303c
+
+2021-04-23 10:05:29,423 TRACE [tungstenite::protocol] Received message {"type":"loadMessages","userId":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d","count":10,"startIndex":0}
+2021-04-23 10:05:29,423 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:29,423 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:29,424 INFO [hole::db::messages] Message: Ok(Message { id: 22, date: 2021-04-22T18:40:37.989775900+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,424 INFO [hole::db::messages] Message: Ok(Message { id: 20, date: 2021-04-22T18:40:37.844596459+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,424 INFO [hole::db::messages] Message: Ok(Message { id: 18, date: 2021-04-22T18:40:37.714170922+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,424 INFO [hole::db::messages] Message: Ok(Message { id: 16, date: 2021-04-22T18:40:37.581089113+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,424 INFO [hole::db::messages] Message: Ok(Message { id: 14, date: 2021-04-22T18:40:37.432847143+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,424 INFO [hole::db::messages] Message: Ok(Message { id: 12, date: 2021-04-22T18:40:37.396670040+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,424 INFO [hole::db::messages] Message: Ok(Message { id: 10, date: 2021-04-22T18:40:37.239896598+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,425 INFO [hole::db::messages] Message: Ok(Message { id: 8, date: 2021-04-22T18:40:37.049990869+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,425 INFO [hole::db::messages] Message: Ok(Message { id: 6, date: 2021-04-22T18:40:36.912055048+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,425 INFO [hole::db::messages] Message: Ok(Message { id: 4, date: 2021-04-22T18:40:36.789330452+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true })
+2021-04-23 10:05:29,425 INFO [hole::db::messages] All messages loaded to memory
+2021-04-23 10:05:29,425 DEBUG [hole::db::messages] [Message { id: 22, date: 2021-04-22T18:40:37.989775900+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 20, date: 2021-04-22T18:40:37.844596459+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 18, date: 2021-04-22T18:40:37.714170922+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 16, date: 2021-04-22T18:40:37.581089113+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 14, date: 2021-04-22T18:40:37.432847143+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 12, date: 2021-04-22T18:40:37.396670040+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 10, date: 2021-04-22T18:40:37.239896598+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 8, date: 2021-04-22T18:40:37.049990869+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 6, date: 2021-04-22T18:40:36.912055048+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }, Message { id: 4, date: 2021-04-22T18:40:36.789330452+03:00, user_id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), message: "Weeew", from_me: true }]
+2021-04-23 10:05:29,422 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:29,426 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:29,422 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:29,426 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:29,426 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:29,426 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:29,426 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:29,426 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:29,426 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:29,426 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,426 TRACE [async_io::driver] main_loop: sleeping for 100 us
+2021-04-23 10:05:29,426 INFO [hole::chat::serv_handler] Message sended to client thread
+2021-04-23 10:05:29,426 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:29,426 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:29,426 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:29,426 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:29,426 TRACE [async_io::driver] main_loop: sleeping for 250 us
+2021-04-23 10:05:29,426 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:29,426 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:29,427 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,427 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:29,427 TRACE [tungstenite::protocol] Frames still in queue: 1
+2021-04-23 10:05:29,427 TRACE [tungstenite::protocol] Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 57, 56, 57, 55, 55, 53, 57, 48, 48, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 50, 50, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 56, 52, 52, 53, 57, 54, 52, 53, 57, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 50, 48, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 55, 49, 52, 49, 55, 48, 57, 50, 50, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 56, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 53, 56, 49, 48, 56, 57, 49, 49, 51, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 54, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 52, 51, 50, 56, 52, 55, 49, 52, 51, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 52, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 51, 57, 54, 54, 55, 48, 48, 52, 48, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 50, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 50, 51, 57, 56, 57, 54, 53, 57, 56, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 49, 48, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 55, 46, 48, 52, 57, 57, 57, 48, 56, 54, 57, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 56, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 54, 46, 57, 49, 50, 48, 53, 53, 48, 52, 56, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 54, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 44, 123, 34, 100, 97, 116, 101, 34, 58, 34, 50, 48, 50, 49, 45, 48, 52, 45, 50, 50, 84, 49, 56, 58, 52, 48, 58, 51, 54, 46, 55, 56, 57, 51, 51, 48, 52, 53, 50, 43, 48, 51, 58, 48, 48, 34, 44, 34, 102, 114, 111, 109, 95, 109, 101, 34, 58, 116, 114, 117, 101, 44, 34, 105, 100, 34, 58, 52, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, 87, 101, 101, 101, 119, 34, 44, 34, 117, 115, 101, 114, 95, 105, 100, 34, 58, 34, 56, 56, 102, 97, 53, 52, 57, 98, 45, 52, 101, 100, 50, 45, 52, 57, 50, 55, 45, 98, 55, 99, 101, 45, 97, 98, 50, 98, 51, 98, 102, 99, 53, 53, 49, 100, 34, 125, 93] }
+2021-04-23 10:05:29,427 TRACE [async_io::driver] main_loop: sleeping for 500 us
+2021-04-23 10:05:29,427 TRACE [tungstenite::protocol::frame] writing frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 1372
+payload length: 1368
+payload: 0x5b7b2264617465223a22323032312d30342d32325431383a34303a33372e3938393737353930302b30333a3030222c2266726f6d5f6d65223a747275652c226964223a32322c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3834343539363435392b30333a3030222c2266726f6d5f6d65223a747275652c226964223a32302c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3731343137303932322b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31382c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3538313038393131332b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31362c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3433323834373134332b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31342c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3339363637303034302b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31322c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3233393839363539382b30333a3030222c2266726f6d5f6d65223a747275652c226964223a31302c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33372e3034393939303836392b30333a3030222c2266726f6d5f6d65223a747275652c226964223a382c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33362e3931323035353034382b30333a3030222c2266726f6d5f6d65223a747275652c226964223a362c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d2c7b2264617465223a22323032312d30342d32325431383a34303a33362e3738393333303435322b30333a3030222c2266726f6d5f6d65223a747275652c226964223a342c226d657373616765223a225765656577222c22757365725f6964223a2238386661353439622d346564322d343932372d623763652d616232623362666335353164227d5d
+
+2021-04-23 10:05:29,428 TRACE [async_io::driver] main_loop: sleeping for 750 us
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:29,428 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,428 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:29,429 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:29,429 TRACE [async_io::driver] block_on: completed
+2021-04-23 10:05:29,429 DEBUG [hole::chat::front_conn] Message sended to frontend: [{"date":"2021-04-22T18:40:37.989775900+03:00","from_me":true,"id":22,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.844596459+03:00","from_me":true,"id":20,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.714170922+03:00","from_me":true,"id":18,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.581089113+03:00","from_me":true,"id":16,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.432847143+03:00","from_me":true,"id":14,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.396670040+03:00","from_me":true,"id":12,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.239896598+03:00","from_me":true,"id":10,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:37.049990869+03:00","from_me":true,"id":8,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:36.912055048+03:00","from_me":true,"id":6,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"},{"date":"2021-04-22T18:40:36.789330452+03:00","from_me":true,"id":4,"message":"Weeew","user_id":"88fa549b-4ed2-4927-b7ce-ab2b3bfc551d"}]
+2021-04-23 10:05:29,429 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:29,429 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:29,428 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:29,429 TRACE [polling] Poller::notify()
+2021-04-23 10:05:29,429 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:29,429 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:29,429 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:29,429 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:29,429 TRACE [async_io::driver] main_loop: sleeping for 100 us
+2021-04-23 10:05:29,429 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:29,429 TRACE [async_io::driver] main_loop: sleeping for 250 us
+2021-04-23 10:05:29,429 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:29,430 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:29,430 TRACE [async_io::driver] block_on: notified
+2021-04-23 10:05:29,430 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:29,430 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:29,430 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:29,430 TRACE [async_io::driver] main_loop: sleeping for 500 us
+2021-04-23 10:05:29,430 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:29,430 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:29,429 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:29,430 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:29,430 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:29,430 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,430 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:29,430 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:29,430 TRACE [async_io::driver] main_loop: sleeping for 750 us
+2021-04-23 10:05:29,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:29,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:29,431 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:29,431 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:29,431 TRACE [async_tungstenite::compat] WouldBlock
+2021-04-23 10:05:29,431 TRACE [async_io::driver] main_loop: sleeping for 1000 us
+2021-04-23 10:05:29,431 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:29,433 TRACE [async_io::driver] main_loop: sleeping for 2500 us
+2021-04-23 10:05:29,435 TRACE [async_io::driver] main_loop: sleeping for 5000 us
+2021-04-23 10:05:29,441 TRACE [async_io::driver] main_loop: sleeping for 10000 us
+2021-04-23 10:05:29,722 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:29,722 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:29,722 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:29,722 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:29,723 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:29,723 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:29,723 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:29,726 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:29,729 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:29,729 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:30,209 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:30,209 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:30,209 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:30,210 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:30,210 TRACE [polling] Poller::notify()
+2021-04-23 10:05:30,210 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:30,210 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:30,210 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:30,210 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:30,211 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:30,211 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:30,211 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:30,211 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:30,211 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:30,212 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:30,212 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:30,212 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:30,212 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:30,212 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:30,213 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:30,211 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:30,213 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:30,213 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:30,213 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:30,213 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:30,214 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,214 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:30,214 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:30,215 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:30,215 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,215 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:30,215 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 225]
+2021-04-23 10:05:30,216 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:30,216 TRACE [tungstenite::protocol::frame::frame] Second: 11100001
+2021-04-23 10:05:30,216 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:30,216 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:30,216 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 103
+payload length: 97
+payload: 0xc5586c8dce1f3ace9c167795da377d87cd1b7f91cd5834d6cb97d86f71e3ace9c487cc58c192bc48b577d96894335c086437bd9dc4c2cc7931c2ac3d84b7dc3861b2f978e5834d6dd156d9aca5822c58e563a87ca1b6a80f7147c91c65822c4c3
+
+2021-04-23 10:05:30,217 TRACE [tungstenite::protocol] Received message {"type":"loadMessages","userId":"2d12c305-eb79-489c-b643-f27f1e78a7c0","count":10,"startIndex":0}
+2021-04-23 10:05:30,217 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:30,217 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:30,218 INFO [hole::db::messages] All messages loaded to memory
+2021-04-23 10:05:30,218 DEBUG [hole::db::messages] []
+2021-04-23 10:05:30,219 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:30,219 INFO [hole::chat::serv_handler] Message sended to client thread
+2021-04-23 10:05:30,219 TRACE [async_std::task::builder] block_on
+2021-04-23 10:05:30,219 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:30,220 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:30,220 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:30,220 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:30,221 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:30,221 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,221 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:30,221 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:30,222 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:30,222 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,222 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:30,223 TRACE [polling::epoll] modify: epoll_fd=10, fd=15, ev=Event { key: 1, readable: true, writable: false }
+2021-04-23 10:05:30,223 TRACE [async_tungstenite::compat] WouldBlock
+2021-04-23 10:05:30,224 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:30,224 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:30,224 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,224 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:30,224 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:30,225 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:30,225 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:30,225 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,225 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:30,225 TRACE [tungstenite::protocol] Frames still in queue: 1
+2021-04-23 10:05:30,226 TRACE [tungstenite::protocol] Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 93] }
+2021-04-23 10:05:30,226 TRACE [tungstenite::protocol::frame] writing frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 4
+payload length: 2
+payload: 0x5b5d
+
+2021-04-23 10:05:30,226 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:167 Write.write
+2021-04-23 10:05:30,226 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,226 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:172 Write.with_context write -> poll_write
+2021-04-23 10:05:30,228 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:30,228 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,228 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:30,228 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:30,228 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:30,228 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:30,229 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:30,229 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:30,229 TRACE [async_io::driver] block_on: completed
+2021-04-23 10:05:30,229 DEBUG [hole::chat::front_conn] Message sended to frontend: []
+2021-04-23 10:05:30,230 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:30,779 TRACE [polling] Poller::notify()
+2021-04-23 10:05:30,779 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:30,779 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:30,780 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:30,780 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:30,780 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:30,780 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:30,781 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:30,781 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:30,781 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:30,781 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:30,781 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:30,781 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:30,782 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:30,782 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:30,782 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:30,782 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:30,782 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:30,782 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:30,783 TRACE [async_io::driver] main_loop: sleeping for 100 us
+2021-04-23 10:05:30,783 TRACE [async_io::driver] main_loop: sleeping for 250 us
+2021-04-23 10:05:30,784 TRACE [async_io::driver] main_loop: sleeping for 500 us
+2021-04-23 10:05:30,785 TRACE [async_io::driver] main_loop: sleeping for 750 us
+2021-04-23 10:05:30,786 TRACE [async_io::driver] main_loop: sleeping for 1000 us
+2021-04-23 10:05:30,787 TRACE [async_io::driver] main_loop: sleeping for 2500 us
+2021-04-23 10:05:30,790 TRACE [async_io::driver] main_loop: sleeping for 5000 us
+2021-04-23 10:05:30,797 TRACE [async_io::driver] main_loop: sleeping for 10000 us
+2021-04-23 10:05:31,029 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:31,029 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:31,030 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:31,035 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:31,036 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:31,036 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:31,036 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:31,044 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:31,087 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:31,087 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:31,149 TRACE [polling] Poller::notify()
+2021-04-23 10:05:31,149 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:31,150 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:31,151 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:31,151 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:31,151 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:31,151 TRACE [async_io::driver] block_on: notified
+2021-04-23 10:05:31,151 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:31,151 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:31,151 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:31,151 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:31,151 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:31,151 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:31,151 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:31,151 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:31,152 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:31,152 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,183 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,184 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:32,184 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:32,185 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:32,185 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,388 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:32,388 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:32,389 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:32,389 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:32,390 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:32,390 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:32,391 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:32,427 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:32,429 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,430 DEBUG [hole::chat::serv_conn] unhandled: IdentifierCollision
+2021-04-23 10:05:32,430 DEBUG [hole::chat::front_conn] Got:
+ IdentifierCollision
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+Global=false
+EndMessage
+
+2021-04-23 10:05:32,430 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:32,430 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,434 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:32,434 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:32,790 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:32,790 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,791 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:32,791 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:32,792 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,803 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:32,803 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:32,803 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:32,804 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:32,804 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:33,734 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:33,735 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:33,735 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:33,735 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:33,736 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:33,736 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:33,737 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:33,754 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:33,770 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:33,770 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:33,906 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:33,906 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:33,907 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:33,907 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:33,907 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:34,484 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:34,484 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:34,485 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:34,486 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:34,486 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:35,070 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:35,071 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:35,071 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:35,071 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:35,071 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:35,071 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:35,071 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:35,075 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:35,079 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:35,079 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:35,530 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:35,530 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:35,531 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:35,531 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:35,531 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:35,533 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:35,534 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:35,534 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:35,534 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:35,534 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:36,379 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:36,380 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:36,380 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:36,380 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:36,380 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:36,380 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:36,380 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:36,384 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:36,387 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:36,387 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:36,578 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:36,578 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:36,578 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:36,578 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:36,578 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:36,581 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:36,581 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:36,581 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:36,581 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:36,581 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:37,242 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:37,242 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:37,242 TRACE [async_io::reactor] react: 1 ready wakers
+2021-04-23 10:05:37,242 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:37,242 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:37,242 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:37,243 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:37,243 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:37,243 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:37,243 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:37,243 TRACE [polling] Poller::notify()
+2021-04-23 10:05:37,243 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:37,243 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:37,243 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:37,243 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:37,243 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:37,243 TRACE [async_io::driver] block_on: stops hogging the reactor
+2021-04-23 10:05:37,243 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:37,243 TRACE [async_io::driver] main_loop: waiting on I/O
+2021-04-23 10:05:37,243 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:37,243 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:37,243 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:37,243 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:37,243 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:301 Stream.poll_next
+2021-04-23 10:05:37,243 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:256 WebSocketStream.with_context
+2021-04-23 10:05:37,243 TRACE [async_tungstenite] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/lib.rs:306 Stream.with_context poll_next -> read_message()
+2021-04-23 10:05:37,244 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:182 Write.flush
+2021-04-23 10:05:37,244 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:37,244 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:187 Write.with_context flush -> poll_flush
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol] Frames still in queue: 0
+2021-04-23 10:05:37,244 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:147 Read.read
+2021-04-23 10:05:37,244 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:124 AllowStd.with_context
+2021-04-23 10:05:37,244 TRACE [async_tungstenite::compat] /home/horhik/.cargo/registry/src/github.com-1ecc6299db9ec823/async-tungstenite-0.11.0/src/compat.rs:152 Read.with_context read -> poll_read
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol::frame::frame] Parsed headers [129, 218]
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol::frame::frame] First: 10000001
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol::frame::frame] Second: 11011010
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol::frame::frame] Opcode: Data(Text)
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol::frame::frame] Masked: true
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol::frame] received frame
+
+final: true
+reserved: false false false
+opcode: TEXT
+length: 96
+payload length: 90
+payload: 0x4f4244d9445129a161355ce502d55d347157c5164c12cd511343c1535129a162917cd143351c4164c12d547542e95042a826419257530951955297d4d498d31dc225438d52527c65579855575390161d
+
+2021-04-23 10:05:37,244 TRACE [tungstenite::protocol] Received message {"type":"sendMessage","message":"I'm Sad","userId":"2d12c305-eb79-489c-b643-f27f1e78a7c0"}
+2021-04-23 10:05:37,244 INFO [hole::chat::front_conn] new request
+2021-04-23 10:05:37,245 INFO [hole::api::selector] matching request...
+2021-04-23 10:05:37,245 DEBUG [hole::api::handlers] CUM CUM
+2021-04-23 10:05:37,245 DEBUG [hole::api::handlers] CUM CUM
+2021-04-23 10:05:37,245 DEBUG [hole::api::handlers] CUM CUM
+2021-04-23 10:05:37,245 DEBUG [hole::api::handlers] CUM CUM
+2021-04-23 10:05:37,245 DEBUG [hole::api::handlers] CUM CUM
+2021-04-23 10:05:37,245 DEBUG [hole::api::handlers] CUM CUM
+2021-04-23 10:05:37,245 DEBUG [hole::api::handlers] CUM CUM
+2021-04-23 10:05:37,250 INFO [hole::db::users] User 2d12c305-eb79-489c-b643-f27f1e78a7c0 founded
+2021-04-23 10:05:37,251 ERROR [hole::db::messages] failed to insert message SqliteFailure(Error { code: ConstraintViolation, extended_code: 1555 }, Some("UNIQUE constraint failed: messages.id"))
+2021-04-23 10:05:37,256 TRACE [async_io::driver] block_on()
+2021-04-23 10:05:37,257 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:37,687 DEBUG [hole::chat::stay_awake] enough sleep
+2021-04-23 10:05:37,687 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1"
+2021-04-23 10:05:37,687 DEBUG [hole::chat::stay_awake] sending "USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1"
+2021-04-23 10:05:37,689 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/88fa549b-4ed2-4927-b7ce-ab2b3bfc551d/1
+Identifier=rec;88fa549b-4ed2-4927-b7ce-ab2b3bfc551d;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:37,689 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:37,689 DEBUG [hole::chat::serv_handler] SENDED ClientGet
+URI=USK@H9FAHIcBAfVElPkQnNFN5oc1Ui1haVTTl4LFjh2J0SM,6hVdtDCd9Nk-NYpArvxa4YtcJ1WhpU4DUuQ36Tbj1G8,AQACAAE/2d12c305-eb79-489c-b643-f27f1e78a7c0/1
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+ReturnType=direct
+EndMessage
+
+
+2021-04-23 10:05:37,689 INFO [hole::chat::serv_handler] Message sended to freenet
+2021-04-23 10:05:37,692 INFO [hole::db::users] User: Ok(User { id: Id(88fa549b-4ed2-4927-b7ce-ab2b3bfc551d), name: "Jack", sign_key: "foo", insert_key: SSK { sign_key: "RJ~uACMHPfiaOUmwGdh5gBNnDbGeLjr1TVcvBMFcdWM", decrypt_key: "k5Vd7RwqOUcXgKGTl~cR4cUorKv24M4R~tCBAUp2yZo", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 24 })
+2021-04-23 10:05:37,697 INFO [hole::db::users] User: Ok(User { id: Id(2d12c305-eb79-489c-b643-f27f1e78a7c0), name: "ForTesting", sign_key: "testing", insert_key: SSK { sign_key: "AI3kBoxAMTZBwAlJmFatx1rp821UJ-qvRBBHgMxim7ac", decrypt_key: "K1q11bF0HQ1Ol4XhMVwI395Xnap1b3JUkcKGshPdgFw", settings: Some("AQECAAE") }, messages_count: 0, my_messages_count: 0 })
+2021-04-23 10:05:37,697 INFO [hole::db::users] All users loaded to memory
+2021-04-23 10:05:38,610 TRACE [polling] Poller::notify()
+2021-04-23 10:05:38,610 TRACE [async_io::driver] block_on: sleep until notification
+2021-04-23 10:05:38,610 TRACE [polling::epoll] notify: epoll_fd=10, event_fd=11
+2021-04-23 10:05:38,610 TRACE [polling::epoll] new events: epoll_fd=10, res=1
+2021-04-23 10:05:38,610 DEBUG [hole::chat::serv_conn] unhandled: GetFailed
+2021-04-23 10:05:38,611 TRACE [polling::epoll] modify: epoll_fd=10, fd=11, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:38,611 DEBUG [hole::chat::front_conn] Got:
+ GetFailed
+Identifier=rec;2d12c305-eb79-489c-b643-f27f1e78a7c0;1
+CodeDescription=The request was terminated by a node because it had recently received a request for the same key and that request had failed
+ShortCodeDescription=Data not found (recently failed)
+Fatal=false
+Code=30
+EndMessage
+
+2021-04-23 10:05:38,611 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:38,611 INFO [hole::chat::serv_conn] Sended to client! 1024
+2021-04-23 10:05:38,611 TRACE [async_io::reactor] react: 0 ready wakers
+2021-04-23 10:05:38,611 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:38,612 TRACE [async_io::driver] main_loop: notified
+2021-04-23 10:05:38,612 TRACE [async_io::driver] main_loop: sleeping for 50 us
+2021-04-23 10:05:38,611 TRACE [async_io::driver] block_on: waiting on I/O
+2021-04-23 10:05:38,612 TRACE [async_io::driver] main_loop: sleeping for 75 us
+2021-04-23 10:05:38,612 TRACE [async_io::reactor] process_timers: 0 ready wakers
+2021-04-23 10:05:38,612 TRACE [polling] Poller::wait(_, None)
+2021-04-23 10:05:38,612 TRACE [async_io::driver] main_loop: sleeping for 100 us
+2021-04-23 10:05:38,613 TRACE [polling::epoll] wait: epoll_fd=10, timeout=None
+2021-04-23 10:05:38,613 TRACE [polling::epoll] modify: epoll_fd=10, fd=12, ev=Event { key: 18446744073709551615, readable: true, writable: false }
+2021-04-23 10:05:38,613 TRACE [async_io::driver] main_loop: sleeping for 250 us
+2021-04-23 10:05:38,613 TRACE [async_io::driver] main_loop: sleeping for 500 us
+2021-04-23 10:05:38,614 TRACE [async_io::driver] main_loop: sleeping for 750 us
+2021-04-23 10:05:38,615 TRACE [async_io::driver] main_loop: sleeping for 1000 us
+2021-04-23 10:05:38,616 TRACE [async_io::driver] main_loop: sleeping for 2500 us
+2021-04-23 10:05:38,619 TRACE [async_io::driver] main_loop: sleeping for 5000 us
+2021-04-23 10:05:38,625 TRACE [async_io::driver] main_loop: sleeping for 10000 us
diff --git a/src/api/handlers.rs b/src/api/handlers.rs
index c9e0dd8..4851672 100644
--- a/src/api/handlers.rs
+++ b/src/api/handlers.rs
@@ -98,7 +98,6 @@ pub fn send_message(
let identifier = &user_data.id.0.to_string()[..];
let message_id: u32 = user_data.my_messages_count;
let id = Id(uuid::Uuid::parse_str(identifier).expect("failed to parse user ID"));
- let _ = db::users::increase_my_messages_count(id.clone(), conn);
let db_message = db::types::Message {
id: message_id,
date: chrono::offset::Local::now(),
@@ -113,8 +112,7 @@ pub fn send_message(
server_sender
.send(PackedMessage::ToFreenet(fcp_req))
.unwrap();
- log::debug!("Increasing messages count");
- let _ = db::users::increase_my_messages_count(id.clone(), &conn);
+ let _ = db::users::increase_my_messages_count(id.clone(), conn);
Ok(())
} else {
// create error types
diff --git a/src/api/identifier.rs b/src/api/identifier.rs
new file mode 100644
index 0000000..64b3520
--- /dev/null
+++ b/src/api/identifier.rs
@@ -0,0 +1,17 @@
+use crate::db::types::Id;
+use regex::Regex;
+use uuid::{self, Uuid};
+
+
+
+pub fn parse_message_identifier(identifier: &str) -> (Id, u32) {
+ let reg = Regex::new(
+ r"new-message-(.*)/(.*)",
+ )
+ .unwrap();
+ let res = reg.captures(identifier).unwrap();
+ let uuid = Id(Uuid::parse_str(&res[1]).unwrap());
+ let id = u32::from_str_radix(&res[2], 10).unwrap();
+ return (uuid, id)
+
+}
diff --git a/src/api/mod.rs b/src/api/mod.rs
index 09f8a71..99c62af 100644
--- a/src/api/mod.rs
+++ b/src/api/mod.rs
@@ -2,3 +2,4 @@ pub mod request;
pub mod response;
pub mod handlers;
pub mod selector;
+pub mod identifier;
diff --git a/src/chat/front_conn.rs b/src/chat/front_conn.rs
index 6963873..8a1def4 100644
--- a/src/chat/front_conn.rs
+++ b/src/chat/front_conn.rs
@@ -1,4 +1,5 @@
use crate::chat::types::PackedMessage;
+use fcpv2::{types::traits::FcpParser, node::fcp_response::AllData};
use crate::db;
use async_std::{
io,
@@ -101,14 +102,27 @@ async fn connection_for_receiving(
}
PackedMessage::FromFreenet(response) => {
let r = response.clone();
+ let res_type = r.lines().next();
log::debug!("Got:\n {}", &response);
- async_std::task::block_on(
- sender
- // TODO freenet_response_handler
- .send(Message::Text(r.to_string())),
- )
- .expect("Couldn't send messge");
- // .await
+ match res_type {
+ Some("AllData") => {
+ let data = AllData::parse(&r).unwrap();
+ log::debug!("GOT mESSAGE {}\n FROM FREENET: {}",data.identifier, data.data );
+ server_sender.send(PackedMessage::ToClient(data.data));
+ //TOOD parse identifier
+ let (uuid, id) = crate::api::identifier::parse_message_identifier(&data.identifier);
+ log::debug!("parsed identifier: {:?} {:?}", uuid, id);
+ /*async_std::task::block_on(
+ sender
+ // TODO freenet_response_handler
+ .send(Message::Text(r.to_string())),
+ )
+ .expect("Couldn't send messge");
+ */
+ }
+ None => {}
+ _ => {}
+ }
// .expect("Couldn't send messge");
}
_ => {}
@@ -117,7 +131,7 @@ async fn connection_for_receiving(
}
Ok(())
}
-
+// sending ToClient messages to frontend
async fn connection_for_sending(
mut receiver: SplitStream>,
server_sender: SP,
diff --git a/src/chat/serv_handler.rs b/src/chat/serv_handler.rs
index a9f499c..7942b09 100644
--- a/src/chat/serv_handler.rs
+++ b/src/chat/serv_handler.rs
@@ -25,6 +25,7 @@ pub async fn to_server_sender(
log::info!("Message sended to client thread");
}
PackedMessage::ToFreenet(req) => {
+ let res_type = req.lines().next().unwrap();
log::debug!("SENDED {}", req);
sender.write(req.as_bytes()).await?;
log::info!("Message sended to freenet");
diff --git a/src/chat/stay_awake.rs b/src/chat/stay_awake.rs
index b7263aa..4280245 100644
--- a/src/chat/stay_awake.rs
+++ b/src/chat/stay_awake.rs
@@ -28,15 +28,17 @@ pub async fn request_repeater(ss: SP) -> io::Result<()> {
let id = user.id.0.to_string();
let index = user.messages_count + 1;
+ let key = USK {
+ ssk: parsed.private_key.clone(),
+ path: format!("{}/{}", &id, &index),
+ };
+ log::debug!("sending {:?}", &key.convert());
match ss.send(PackedMessage::ToFreenet(
ClientGet::new_default(
KEY::USK(
- USK {
- ssk: parsed.private_key.clone(),
- path: format!("{}/{}", &id, &index),
- }
+ key
),
- &format!("rec;{};{}", &id, &index)[..], // TODO create Identifier type
+ &format!("new-message-{}/{}", &id, &index)[..], // TODO create Identifier type
ReturnType::Direct,
)
.convert(),
diff --git a/src/db/messages.rs b/src/db/messages.rs
index 0896df2..d082e2a 100644
--- a/src/db/messages.rs
+++ b/src/db/messages.rs
@@ -41,7 +41,7 @@ pub fn select_n_last_messages(
conn: &Connection,
) -> Result> {
let mut selected = conn.prepare(
- "SELECT * FROM messages CROSS JOIN my_messages WHERE messages.user_id = ?1 or my_messages.user_id = ?1 ORDER BY date DESC LIMIT ?2",
+ "SELECT * FROM messages WHERE user_id = ?1 ORDER BY date DESC LIMIT ?2",
)?;
let message_iter = selected.query_map(params![user_id, count], |row| ret_mes(row))?;
let mut messages: Vec = Vec::new();
@@ -62,8 +62,8 @@ pub fn add_message(message: Message, conn: &Connection) -> Result<()> {
date,
message,
from_me
- ) VALUES (?1, ?2, ?3, ?4)",
- params![message.id, message.user_id, message.date, message.message],
+ ) VALUES (?1, ?2, ?3, ?4, ?5)",
+ params![message.id, message.user_id, message.date, message.message, false],
) {
Ok(_) => log::info!("message {:} added succsessfully!", message.id),
Err(e) => {
@@ -76,7 +76,7 @@ pub fn add_message(message: Message, conn: &Connection) -> Result<()> {
pub fn add_my_message(message: Message, conn: &Connection) -> Result<()> {
match conn.execute(
- "INSERT INTO my_messages (
+ "INSERT INTO messages (
id,
user_id,
date,
diff --git a/src/main.rs b/src/main.rs
index d016db8..80b82ab 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -49,6 +49,7 @@ fn main() -> io::Result<()> {
SimpleLogger::new().init().unwrap();
let db = db::start_db().unwrap();
+ //let manager = r2d2_foodb::FooConnectionManager::new("localhost:1234");
let (to_server_sender, server_receiver): (Sender, Receiver) =
mpsc::channel();