- Restrict to TCP only until the UTP problems are fixed.
- Add peer IDs, and identify connections with them instead of
Connection
objects.
- Removes feature gates, Crust can now compile on stable rust compiler.
- OnConnect, OnAccept and OnRendezvousConnect events now report what the remote peer sees this peer's endpoint as
- Replaced Event with EventSender from maidsafe_utilities
- Change API to notify failures (e.g. now it is
OnConnect(io::Result<Connection>, u32 /* token */)
. - Don't start any acceptor implicitly.
- Remove default acceptors settings from config file.
- Use memory mapped file abstractions to manage bootstrap cache files. We no longer rely on a "file cache owner" that is chosen based on whoever is successful to start some default acceptor implicitly.
- A bugfix to uTP code.
- Lint changes.
- A new benchmark.
- Remove wildcards from dependencies.
- Update lint checks
- Style changes
- Documentation updates
- Hole punching API
- Functions to use the P2P network to help punch an UDP hole
- Rendezvous connections using custom UDP sockets
- Breakages in network protocol (handshake strucutre changed)
- Updated examples
- New example: reporter
- Bug fixes
- API updates (now an
u32
token is associated with connections) - Remove dependency on packages that were unnecessary and were causing stability issues on crust
- Tests are more predictable.
- Tests are more stable (tests can contain bugs too).
- Changes to build against most recent Rust (and libraries).
- Adapts to new rust-utp API
- Fixes
service::test::network
test is working again
- Small change in protocol as preparation for UDP hole punching
- Impl of Ord for transport::Endpoint no longer panics
- Exports util function
ifaddrs_if_unspecified
- Calls which start accepting connections now return real socket addresses where IP is usually 0.0.0.0 (to be used with the fn from previous bullet)
- Fixes explicit panic when trying to send on a closed connection
- Reduces number of threads by using channels.
- Renames ConnectionManager to Service
- All Service public API functions are now async
- Removes NewConnection and NewBootstrapConnection events in favor of OnConnect and OnAccept
- Code reduction by doing encoding and decoding at one place (helped fixing a decoder bug we had)
- Consistent usage of the 5483 and 5484 ports
- Revert-revert ConnectionManager::new API change
- Revert ConnectionManager::new API change
- ConnectionManager starts accepting connections as soon as constructed now
- Config file now also specifies optional TCP and UTP listening ports
- Improved documentation
- Fixed #288 unsafe multithreaded access to the bootstrap file.
- Updated sample config file
- Updated crust_peer example to use config file
- Changed config- and bootstrap-file-handling to terminate application if file is unreadable
- Fixed bug causing infinite bootstrap loop in Routing
- Refactored config- and bootstrap-file-handling
- #221 getting more bootstrap connections than expected
- #215
connection_manager::get_own_endpoints()
should not return loopback address
- #230 Cannot compile crust - crust_peer - #[forbid(unused_mut)]
- #223 Error: use of unstable library feature 'udp_extras': available through the
net2
crate on crates.io
- #207
ConnectionManager::get_own_endpoints
returns 0 as port
- MAID-1149 Split bootstrap cache file in two files (config & cache)
- MAID-1136 Add a new event NewBootstrapConnection and make bootstrap method non blocking.
- MAID-1146 Attempt Bootstrap continuously until it succeeds
- MAID-1148 Update bootstrap handler to maintain recent endpoints
- MAID-1161 Update start_listening() to take no parameters
- MAID-1162 Add get_beacon_acceptor_port() method only for tests
- MAID-1264 Update API to hide configuration file path
- MAID-1132 Integrate UPnP
- MAID-1139 Remove Crust API’s start_listening2() and expose
get_own_endpoints()
- Updated dependency's version
- Made ConnectionManager::seek_peers() private
- Travis document generation build script updated
- Fixed documentation links
- Removed sodiumoxide dependency
- #140 Bootstrap file format
- Code clean up
- #134 First node doesn't read its own bootstrap list
- MAID-1125 Update Bootstrap Handler to use Json format.
- MAID-1124 Get a list of public IPs for others to connect to
- Remove FailedToConnect Event
- Update process for Connecting in TCP
- Tcp Networking
- Tcp live port and backup random port selection
- Create send/rcv channel from routing to connections object
- Implement test for basic "hello world" two way communication
- Set up Udp broadcast and respond when we have a port (we listen on any random port above 1024 [user space port]) available (broadcast port is 5484)
- Add connection established/lost/ new messages to be passed to routing (via channel)
- Implement connect() in connection manager
- Allow tcp and then utp connections option and wrap in connection object. ](http://maidsafe.net/Whitepapers/pdf/DHTbasedNATTraversal.pdf)
- Update handle connect for TCP
- Remove FailedToConnect event
- Integrate bootstrap (Link ability to read and write bootstrap file)
- Integrate beacon (Have connection manger start, broadcast on udp broadcast for port 5484 (later multicast for ipv6)
- Send serialised bootstrap info as part of beacon reply (Link ability to send bootstrap file to any node requesting it)
- Examples:
- Broadcaster
- Broadcast receiver
- CLI Example - options:
- Join / Start a node(optionally provide bootstrap info)
- Allow sending messages at various rates per second
- Print Incomming message rate per second
- Local Network Test. 12 Linux, 2 OSX, 2 WIN
- 101 Droplet test
- Version 0.0.8