Permalink
Browse files

Version change to 0.15.0

  • Loading branch information...
ustulation committed Jun 14, 2016
1 parent 40564bc commit b13a0a18e2bbe7620bb3b7be301f20edca12cee4
View
@@ -1,5 +1,23 @@
# CRUST - Change Log
## [0.15.0]
- Integrate with mio
- This currently uses a temporary mio fork (`tmp_mio`) [with windows bug fix](https://github.com/carllerche/mio/pull/401).
- Redesign with State Pattern.
- Bring number of persistent threads in crust to 1.
- Previously we would have multiple threads _per connection_ leading to huge number of context switches which was inefficient. It was not uncommon to see more than 200 threads for a little over 60 connections (Routing Table size > 60).
- Now in many of our tests where cpu would constantly hover around 100%, we have cpu now calm at around 1-5% and peaks to 30% temporarily only during peak stress (Lot of churn and data exchange).
- Make all system calls async.
- Switch from application level concurrency primitives to operating system level concurrency.
- Now with event based mechanism, when kernel is not ready for some state we steal that opportunity to have it service some other state it is ready for which keeps the event pipeline hot and optimal.
- Attempt bootstrapping in parallel.
- This increases the speed of bootstrap process. Previously the sequential bootstrap meant we went to next potential peer only if the currently attempted one failed.
- Remove some of the 1st party dependant crates and move it in as modules.
- Cleaned out crust config file removing deprecated options.
- Integrate stun service into connection listeners instead of having them as separate peers.
- Crust API updates to rename OurConnectionInfo, TheirConnectionInfo to PrivConnectionInfo and PubConnectionInfo.
- Support bootstrap blacklist.
## [0.14.0]
- Depend on maidsafe_utilities 0.6.0.
- Fix endianness issue.
View
@@ -7,14 +7,12 @@ license = "GPL-3.0/MaidSafe.net Commercial License 1.0"
name = "crust"
readme = "README.md"
repository = "https://github.com/maidsafe/crust"
version = "0.14.0"
version = "0.15.0"
[dependencies]
byteorder = "~0.5.1"
clippy = {version = "~0.0.68", optional = true}
config_file_handler = "~0.3.0"
crossbeam = "~0.2.9"
env_logger = "~0.3.3"
get_if_addrs = "~0.4.0"
igd = "~0.4.2"
log = "~0.3.6"
@@ -27,47 +25,9 @@ socket_addr = "~0.1.0"
sodiumoxide = "~0.0.10"
tmp_mio = "~0.5.2"
[dependencies.clippy]
optional = true
version = "~0.0.76"
[dev-dependencies]
docopt = "~0.6.80"
void = "~1.0.2"
[[example]]
bench = false
name = "simple_demo"
path = "examples/simple_demo.rs"
test = false
[[example]]
bench = false
name = "simple_sender"
path = "examples/simple_sender.rs"
test = false
[[example]]
bench = false
name = "simple_receiver"
path = "examples/simple_receiver.rs"
test = false
[[example]]
bench = false
name = "crust_peer"
path = "examples/crust_peer.rs"
test = false
[[example]]
bench = false
name = "reporter"
path = "examples/reporter.rs"
test = false
[[example]]
bench = false
name = "simple_benchmark"
path = "examples/simple_benchmark.rs"
test = false
[[test]]
name = "send_and_receive"
path = "tests/send_and_receive.rs"
test = false
Oops, something went wrong.

1 comment on commit b13a0a1

@cserb

This comment has been minimized.

Show comment
Hide comment
@cserb

cserb Jul 16, 2016

Why were the examples removed? Can we have them back? :)

cserb commented on b13a0a1 Jul 16, 2016

Why were the examples removed? Can we have them back? :)

Please sign in to comment.