Commit Graph

126 Commits

Author SHA1 Message Date
piltom
891484d196 net/transport improve tor docs 2022-04-10 00:42:51 +02:00
piltom
cca7fcc18c net/transport remove error not used 2022-04-09 23:28:12 +02:00
piltom
7cbf0bd95b net/transport remove unnecessary pub 2022-04-09 23:24:01 +02:00
piltom
4dbd513418 net/transport add tor transport 2022-04-09 20:16:23 +02:00
ghassmo
891add8c62 net: minor changes 2022-04-03 11:00:13 +04:00
narodnik
d519c46159 add todo task for net 2022-03-28 23:18:47 +02:00
parazyd
4d8557155c transport/tls: Clean up and rotate certificates every instantiation. 2022-03-28 19:59:41 +02:00
parazyd
fb2d3a1033 net/transport: Implement listeners for TCP and TLS + integration tests. 2022-03-28 19:59:41 +02:00
parazyd
6be5dd0777 transport/tls: Remove unused root_store. 2022-03-28 19:59:40 +02:00
parazyd
41ecea27a7 net/transport: Implement TLS client protocol. 2022-03-28 19:59:40 +02:00
parazyd
c417ff9d64 net: Initial transport abstraction concept.
So far, only outbound TCP connections.
2022-03-28 19:59:40 +02:00
ghassmo
937e06ec4f Replace HashMap with FxHashMap 2022-03-18 23:19:13 +04:00
parazyd
36fa2e020c net: Minor cleanups for idiomatic naming. 2022-03-17 13:35:18 +01:00
ghassmo
bcd4dcc2ee src/net: use to_string from Display trait for OutboundState and P2pState enums 2022-03-08 21:27:30 +04:00
ghassmo
f41ca32e76 src/net: remove warning msg 2022-03-08 20:08:46 +04:00
narodnik
cb1bd6af9c netcode add get_info for inbound session as well 2022-03-07 18:51:33 +01:00
narodnik
d7251ab2dd bugfix: dont remove address when connection is opened for outbound 2022-03-07 18:07:35 +01:00
narodnik
f143e10200 correct typo 2022-03-07 17:53:13 +01:00
narodnik
e3857fd211 add get_info() hooks throughout net code (incomplete) used for introspecting state while p2p network is live. 2022-03-07 15:47:07 +01:00
narodnik
198061daa2 add get_info() hook for p2p and sessions 2022-03-06 21:57:56 +01:00
ghassmo
aad2caa3df clean up & remove warning messages 2022-02-27 00:51:35 +04:00
Dastan-glitch
66699fd1d5 migrate net select::futures to use async_std timeout function instead 2022-02-25 21:26:06 -05:00
Dastan-glitch
43ab9ecc1f Filtering specific targets in logging system 2022-02-06 20:37:04 +01:00
narodnik
a64820132a cleanup ProtocolRegistry 2022-02-05 22:28:32 +01:00
narodnik
cd74b6aa0b from now on all subscribers in protocols must be created in the constructor. move subscribers in ProtocolPing to the constructor. 2022-02-05 11:04:19 +01:00
narodnik
7343c0be83 delete old new() functions and rename new2() to new() 2022-02-05 10:51:46 +01:00
narodnik
7a8a10aaac add protocol names 2022-02-05 10:49:12 +01:00
narodnik
a9a714aa73 net: when registering protocols, use a bitwise selector to specify
sessions it will be activated for.

    registry.register(SESSION_INBOUND | SESSION_OUTBOUND, ProtocolFoo::new)

The constructors accept a channel and p2p instance.
For an example of passing additional arguments, you have to use an async
closure:
    let foo2 = foo.clone();

    //

    registry.register(
        !net::SESSION_SEED,
        move |channel, p2p| {
            let foo = foo2.clone();
            async move {
                ProtocolFoo::new(channel, p2p, foo).await
            }
        }).await;
2022-02-05 09:56:34 +01:00
narodnik
f4026bf8a2 remove uneeded 'static declarations 2022-02-05 07:46:40 +01:00
narodnik
6fb1304c00 cargo fmt 2022-02-03 08:26:55 +01:00
narodnik
eb23a3cda5 remove unecessary plurals: protocols -> protocol, sessions -> session, messages -> message 2022-02-03 08:23:15 +01:00
narodnik
d1d184c0ea Add a protocol registry which properly handles creating the protocols in
a suspended sleep state, then activating them once the channel is
operating.
2022-02-03 08:11:42 +01:00
parazyd
f3045f80e5 Add "net" feature. 2022-01-13 15:42:55 +01:00
narodnik
ba7a0802db use yield_now() in load_address() loop to prevent deadlock with other tasks. 2022-01-09 21:02:15 +01:00
parazyd
9b15f27cfe net/manual_session: (clippy) Dereference SocketAddr. 2022-01-06 19:41:15 +01:00
Dastan-glitch
f6874ff1bf Use same async sleep function throughout source code (#47)
* Use same async sleep function throughout source code

* Rename module async to async_util

* Minor formatting

Closes #46
2022-01-06 18:17:57 +00:00
parazyd
e90102e49d net/manual_session: Fix formatting. 2022-01-06 00:08:17 +01:00
narodnik
23e109a3e1 share the list of seen privmsg ids so that locally sent messages can be added to it. 2022-01-05 19:33:39 +01:00
narodnik
7ed58b0d2c session for manual connections 2022-01-05 18:32:13 +01:00
narodnik
8b37435806 ManualSession stub 2022-01-05 17:44:22 +01:00
narodnik
90d859e424 abstract privmsg stuff into a proper Protocol object that uses the jobs manager to ensure the running tasks are properly closed when the channel disconnects. 2021-12-25 10:14:10 +01:00
narodnik
be5378f293 working p2p irc :) 2021-12-24 11:43:05 +01:00
narodnik
4116b014ec load program options and interpret privmsg commands 2021-12-24 09:41:26 +01:00
parazyd
7276498e64 cargo fmt with new settings. 2021-11-27 17:02:29 +01:00
Matthias Seitz
0e9de335a1 chore: clippy --fix 2021-10-25 09:57:12 +02:00
parazyd
d5c0db1b4c net/channel: Prettyprint peer address. 2021-10-20 19:12:47 +02:00
parazyd
b77da89ce6 Some more cleanups and formatting. 2021-10-01 14:10:30 +02:00
parazyd
19727d1528 Code linting. 2021-09-23 17:44:07 +02:00
∞ − 0 − a + a + 0 = ∞
93458c7d93 Merge pull request #1 from parazyd/master
Code linting
2021-07-17 09:13:53 +02:00
parazyd
e9a7694b7b net/messages: Rename command variable so it doesn't clash with struct. 2021-07-16 11:45:46 +02:00