48 Commits (47e78948601836a66a55729bc97140c26d2512bd)

Author SHA1 Message Date
trivernis f4462356f6
Add Send + Sync for VentedError
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 5e603887d2
Add backpressure to listener and parallel event handling
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis d017e8e250
Rewrite server to be asynchronous
Rewrite of the vented server that uses async-std and async tcp
streams. The Protocol itself is unchanged but the api for implementations
needs to be adapted.

Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 984c1308f9
Make timeouts configurable
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 392355e151
Remove read timeout that causes connection failures
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis a90f1b5664
Remove nonblocking instruction
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 9a1c1df91d
Improve stream read write error handling
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis e59e26c72f
Fix blocked receiver thread
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 7fb2b5d647
Change read and write behaviour
Read and write is now done in separate threads. Each connections
starts up a read and write thread that lock until a value is retrieved.
Events are handled by one thread in the server. Data is synchronized
via mpmc channels.

Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis f5932aa45e
Change thread start behaviour
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 9137eeb673
Add error and success callback to AsyncValue
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis d3d6d0baaf
Change emit to return an async value
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis a2bed2074a
Change thread pool to executor pools
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis b56bf4c6db
Expose inner node list
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 401bd11821
Remove request_node_list fn
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 64203e5cac
Rename Future to AsyncValue and expose it
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 52f9cc1cd1
Change emit to be synchronous to avoid too many threads
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 9a556309e4
Add check if node is known for redirect events
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 6a2f24945d
Change update to not add self to node list
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 833dd1a47b
Expose fields of node list item
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis a8900d5246
Expose node list event
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis eec5e698d3
Change event handling to return multiple events
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 0ee8d691c7
Add support for node list synchronization
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 68729d8dd2
Change nonce type to u128 for cross-platform compatibility
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 9da5931435
Fix memory leak for real
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis ac81f69209
Fix memory leak
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 12d17f09c9
Add event redirection via proxy nodes
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 2c05e2736f
Fix broken streams not being removed from pool
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 5e659509dd
Expose node_id and known nodes of server via function
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis ecc3fcb204
Add names to pool threads
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 394e2bb68e
Add secret updating after key exchange
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 34a1fd2cf0
Add version comparison on connect
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis e0ea66f7c1
Reexport WaitGroup
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 118633179f
Reexport PublicKey type
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis f34ad33322
Add crate metadata
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 6f6142982b
Change auth to two-sided encrypted authentication
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis da6cd1faaf
Update README
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis ce423d5c3d
Add key based authentication
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis bf72aeeeb8
Rewrite server to use custom encryption
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis bcc3024fc3
Add tls server implementation
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 46c2b6266d
Add response event generation to event handler
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis e6edb20b7e
Add tcp server implemenation and change event to store generic payloads
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis c550acc129
Add event handler
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 6eab07775f
Rename cargo package name and add README
Why did CLion do this to me?

Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 253a5958b0
Add tests for serialization and deserialization
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 3139745590
Rename Message to Event and add from_bytes implementation
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis 7f6450be48
Add message serialization implementation
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis b821bf4590
Initial commit
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago