* removed support for legacy packet types from NymCodec
I think nodes had plenty of time to upgrade given versioned variant was introduced in 2022
* temp: use local sphinx packet for development
* introduce new messages that use more efficient reply surbs encoding
* checks for incorrect encoding
* generate correct message depending on config value
* fixed current packet version
* made packet type selection configurable
* updated sphinx packet crate to the published version
* fixed wasm build
* fixes in outfox due to sphinx api changes
* additional tests
* clippy
* fixed log/tracing import
* Clean stale partially received buffers
* Tweak timeout
* Do cleanup after handling new messages instead of in the select loop
* Debug logging and remove unreachable
* Downgrade log
* Tweak logs
* tweak whitespace
* Only run the stale check every 10 sec
Inside client-core we want to prepare the ground for moving a behaviour
close to what we have in the vpn client.
Remove all the recv_with_delay since we want to just stop
Add shutdown condition to all select loops to guard against the shutdown
listener being polled inside the select blocks.
* draft of client data collection
* refactor gateway stats collection to fit client stats collection in same common crate
* moved client stats event and reporter to common crate
* basic os reporting
* add stats reporting address in sdk
* integrate stats scaffolding changes
* remove tokio spawn to potentially accomodate wasm32
* fmt
* fix typo
* add client_stats_id
* unify stats reporting
* avoid shutdown handle drop
* add client_type to stats reporting
* better way to build statsReportingconfig
* disarm shutdown on sink
* remove sink reporter and env dev-dependency
* cherrypick from jon/send-packet-stats
* uncoditionally start controller + licensing
* improve ClientStatsReport serialization
* better time handling
* reintroduce proper local reporting
* Let task wait for shutdown when exiting
* Log tweak
---------
Co-authored-by: jmwample <jmwample@users.noreply.github.com>
Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com>
The received packet sizes as reported in the stats should include the
encryption that is decrypted by the client. Note that this does not
include the sphinx encryption, which is already removed by the exit
gateway. This is also the reason for the relatively large discrepancy of
the reported sent and received packets.
* WIP: put in some packet counters
* ws packet counters
* wip
* Add static counters to client traffic stream
* Tweak status log message
* Add packet statistics control
* fixup! Add static counters to client traffic stream
* tweak log
* Move the packet statistics control one level up
* Redo packet stats control to collect locally
* Switch loop cover traffic report over to new channel mechanism
* Switch packet stats in real message stream to channel report
* Finished switching over to channel reporting
* Fix handle stats event
* Log packets received
* Tidy up
* rustfmt
* Add strongly typed stats reporter
* Count cover packets as well
* Log packet sizes sent
* Also log recieved sizes
* changed NymConfigTemplate trait to call 'template' by reference
* network requester lib
* introduced generic parameter to 'MixTrafficController' to allow non-remote gateways
* allowing for custom gateway sender
* types cleanup
* minor gateway cmds refactor + initial NR work
* wip
* running a NR inside gateway
note: this NR isnt tied to the gateway yet
* rebase fixes
* propagating same shutdown handle
* wip
* starting NR with appropriate local transceiver
* fixed premature shutdown
* wiring up PacketRouter
* both ends wired together
* actually working
so much cleanup to do now
* started removing dead code
* wip
* temp: hardcode gateway
* further cleanup
* fixed build of other binaries
* setup-network-requester subcmd
* overriding NR config in gateway init/run
* wip making it wasm-compatible [again]
* refactored 'GatewaySetup'
* clippy and friends
* removed debug code
* rust 1.72 lints
* ensuring local gateway is available + some comments
* correctly putting network requester data in the same underlying details struct
* improved gateway errors
* changed 'network_requester_config' deserialization
* missing clap annotation for 'enabled' flag in 'setup-network-requester' command
* saving config file after 'setup-network-requester'
* removed dead code
* review comments
* make embedded NR wait for gateway to come online (for at most 70min)
* fixed shutdown on successful gateway wait
* updated NR config override
* Move client-core to common dir
* Factor out socks5-client in its own crate
* Possible sdk-socks5 integration
* Update changelog
* Remove socks5 client lib
* Rename crate to include nym- prefix
* Trim the socks5 wrapped message so that it's printable
* Fix intellij auto refactoring
* Post merge fixes