W3siaWQiOiJqdWljX2JfTURfVF83Mjh4OTAiLCJhZHNwb3QiOiJiX01EX1RfNzI4eDkwIiwid2VpZ2h0IjoiOSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjpmYWxzZSwibWluV2lkdGgiOiI3NjgiLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPCEtLSBKdWljeUFkcyB2My4xIC0tPlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0XC9qYXZhc2NyaXB0XCIgZGF0YS1jZmFzeW5jPVwiZmFsc2VcIiBhc3luYyBzcmM9XCJodHRwczpcL1wvcG93ZXJlZGJ5LmphZHMuY29cL2pzXC9qYWRzLmpzXCI+PFwvc2NyaXB0PlxyXG48aW5zIGlkPVwiODQ1NTM0XCIgZGF0YS13aWR0aD1cIjcyOFwiIGRhdGEtaGVpZ2h0PVwiOTBcIj48XC9pbnM+XHJcbjxzY3JpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBkYXRhLWNmYXN5bmM9XCJmYWxzZVwiIGFzeW5jPihhZHNieWp1aWN5ID0gd2luZG93LmFkc2J5anVpY3kgfHwgW10pLnB1c2goeydhZHpvbmUnOjg0NTUzNH0pOzxcL3NjcmlwdD5cclxuPCEtLUp1aWN5QWRzIEVORC0tPiJ9XQ==
W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=
W3siaWQiOiJqYXZfYl9NRF9CXzcyOHg5MCIsImFkc3BvdCI6ImJfTURfQl83Mjh4OTAiLCJ3ZWlnaHQiOiI1IiwiZmNhcCI6ZmFsc2UsInNjaGVkdWxlIjpmYWxzZSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6Ijc2OCIsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8YSBocmVmPVwiaHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2phdlwiIHRhcmdldD1cIl9ibGFua1wiPjxpbWcgc3JjPVwiXC9hcHBcL2phdlwvVmlld1wvaW1nXC9iNzI4OTAuanBnXCIgd2lkdGg9XCI3MjhcIiBoZWlnaHQ9XCI5MFwiIGJvcmRlcj1cIjBcIj48XC9hPiJ9LHsiaWQiOiJqYXZ1X2JfTURfQl83Mjh4OTAiLCJhZHNwb3QiOiJiX01EX0JfNzI4eDkwIiwid2VpZ2h0IjoiNCIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjpmYWxzZSwibWluV2lkdGgiOiI3NjgiLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPGEgaHJlZj1cImh0dHBzOlwvXC90ZWxsbWUucHdcL2dvXC9qYXZ1XC9cIiB0YXJnZXQ9XCJfYmxhbmtcIj48aW1nIHNyYz1cIlwvYXBwXC9qYXZ1XC9WaWV3XC9pbWdcL2I3Mjg5MC5qcGdcIj48XC9hPiJ9XQ==
Brian L. Troutwine - Hands-On Concurrency with Rust - 2018.epub
1.61MB
Brian L. Troutwine - Hands-On Concurrency with Rust - 2018.mobi
3.56MB
Brian L. Troutwine - Hands-On Concurrency with Rust - 2018.pdf
3.55MB
Hands-OnConcurrencywithRust_Code/Chapter02/hello_worlds/parallel_hello_world.rs
119B
Hands-OnConcurrencywithRust_Code/Chapter02/hello_worlds/sequential_hello_world.rs
49B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/.gitignore
19B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/benches/naive.rs
2.37KB
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/benches/specialized.rs
1.93KB
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/benches/standard.rs
849B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/Cargo.toml
448B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/resources/in/gets
35B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/resources/in/mixed_gets_puts
35B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/resources/in/puts
53B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/src/bin/naive.rs
1.05KB
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/src/bin/naive_interpreter.rs
1003B
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/src/bin/specialized.rs
1.05KB
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/src/bin/specialized_interpreter.rs
1.33KB
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/src/bin/standard.rs
1.05KB
Hands-OnConcurrencywithRust_Code/Chapter02/naive_hashmap/src/lib.rs
5.53KB
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/alloc_string_move_lifetimes.rs
94B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/apollo_cell_example.rs
389B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/blow_up.rs
137B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/borrow_split_array.rs
941B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/borrow_split_array_refs.rs
801B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/borrow_split_array_refs_unsafe.rs
870B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/borrow_split_struct.rs
798B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/copy_struct.rs
256B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/flights_total.rs
372B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/flights_total_copy.rs
538B
Hands-OnConcurrencywithRust_Code/Chapter03/allocs/no_size_slice.rs
340B
Hands-OnConcurrencywithRust_Code/Chapter04/data_races/data_race00.rs
2.52KB
Hands-OnConcurrencywithRust_Code/Chapter04/data_races/data_race01.rs
2.56KB
Hands-OnConcurrencywithRust_Code/Chapter04/data_races/data_race02.rs
2.17KB
Hands-OnConcurrencywithRust_Code/Chapter04/data_races/data_race03.rs
752B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/.rustfmt.toml
143B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/Cargo.toml
128B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/bin/telem.rs
1.4KB
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/egress/ckms_egress.rs
1.06KB
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/egress/cma_egress.rs
993B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/egress/mod.rs
521B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/emitter/mod.rs
982B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/event.rs
165B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/filter/high_filter.rs
413B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/filter/low_filter.rs
409B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/filter/mod.rs
910B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/ingest_point.rs
2.06KB
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/lib.rs
231B
Hands-OnConcurrencywithRust_Code/Chapter04/telem/src/util.rs
441B
Hands-OnConcurrencywithRust_Code/Chapter05/data_races/data_race00.rs
2.52KB
Hands-OnConcurrencywithRust_Code/Chapter05/data_races/data_race01.rs
2.56KB
Hands-OnConcurrencywithRust_Code/Chapter05/data_races/data_race02.rs
2.17KB
Hands-OnConcurrencywithRust_Code/Chapter05/data_races/data_race03.rs
752B
Hands-OnConcurrencywithRust_Code/Chapter05/hopper_example/Cargo.toml
152B
Hands-OnConcurrencywithRust_Code/Chapter05/hopper_example/src/main.rs
1.09KB
Hands-OnConcurrencywithRust_Code/Chapter05/locks_examples/bridge_problem.rs
1.44KB
Hands-OnConcurrencywithRust_Code/Chapter05/locks_examples/condvar_example01.rs
1.25KB
Hands-OnConcurrencywithRust_Code/Chapter05/locks_examples/rocket_problem.rs
3.17KB
Hands-OnConcurrencywithRust_Code/Chapter05/locks_examples/rwlock_example00.rs
1.27KB
Hands-OnConcurrencywithRust_Code/Chapter05/locks_examples/writer_example01.rs
1.08KB
Hands-OnConcurrencywithRust_Code/Chapter06/mpmc/Cargo.toml
132B
Hands-OnConcurrencywithRust_Code/Chapter06/mpmc/src/main.rs
1.06KB
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/Cargo.toml
550B
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/bin/crossbeam_queue_spin.rs
479B
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/bin/mutex_status_demo.rs
1000B
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/bin/queue_spin.rs
432B
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/bin/semaphore_demo.rs
22B
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/bin/spin_mutex_status_demo.rs
1.01KB
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/bin/status_demo.rs
1.01KB
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/bin/swap_mutex.rs
2.04KB
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/lib.rs
131B
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/queue.rs
6.22KB
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/semaphore.rs
490B
Hands-OnConcurrencywithRust_Code/Chapter06/synchro/src/swap_mutex.rs
1.55KB
Hands-OnConcurrencywithRust_Code/Chapter07/treiber_stacks/Cargo.toml
440B
Hands-OnConcurrencywithRust_Code/Chapter07/treiber_stacks/src/bin/conc_stack.rs
1.69KB
Hands-OnConcurrencywithRust_Code/Chapter07/treiber_stacks/src/bin/epoch_stack.rs
1.72KB
Hands-OnConcurrencywithRust_Code/Chapter07/treiber_stacks/src/bin/refcount.rs
573B
Hands-OnConcurrencywithRust_Code/Chapter07/treiber_stacks/src/lib.rs
18B
Hands-OnConcurrencywithRust_Code/Chapter07/treiber_stacks/src/refcount.rs
2.18KB
Hands-OnConcurrencywithRust_Code/Chapter08/feruscore/.gitignore
19B
Hands-OnConcurrencywithRust_Code/Chapter08/feruscore/Cargo.toml
180B
Hands-OnConcurrencywithRust_Code/Chapter08/feruscore/src/individual/mod.rs
5.24KB
Hands-OnConcurrencywithRust_Code/Chapter08/feruscore/src/individual/ringers.rs
1.89KB
Hands-OnConcurrencywithRust_Code/Chapter08/feruscore/src/instruction.rs
5KB
Hands-OnConcurrencywithRust_Code/Chapter08/feruscore/src/lib.rs
132B
Hands-OnConcurrencywithRust_Code/Chapter08/feruscore/src/main.rs
8.29KB
Hands-OnConcurrencywithRust_Code/Chapter08/fixed_threads_tcp_server/Cargo.toml
260B
Hands-OnConcurrencywithRust_Code/Chapter08/fixed_threads_tcp_server/src/bin/client.rs
2.21KB
Hands-OnConcurrencywithRust_Code/Chapter08/fixed_threads_tcp_server/src/bin/server.rs
3.49KB
Hands-OnConcurrencywithRust_Code/Chapter08/overwhelmed_tcp_server/Cargo.toml
243B
Hands-OnConcurrencywithRust_Code/Chapter08/overwhelmed_tcp_server/src/bin/client.rs
2.21KB
Hands-OnConcurrencywithRust_Code/Chapter08/overwhelmed_tcp_server/src/bin/server.rs
3.17KB
Hands-OnConcurrencywithRust_Code/Chapter08/smalliters/Cargo.toml
118B
Hands-OnConcurrencywithRust_Code/Chapter08/smalliters/src/lib.rs
3.99KB
Hands-OnConcurrencywithRust_Code/Chapter08/sniffer/Cargo.toml
187B
Hands-OnConcurrencywithRust_Code/Chapter08/sniffer/src/bin/poor_threading.rs
4.43KB
Hands-OnConcurrencywithRust_Code/Chapter08/sniffer/src/bin/sniffer.rs
4.58KB
Hands-OnConcurrencywithRust_Code/Chapter09/embed_quantiles/c_src/main.c
643B
Hands-OnConcurrencywithRust_Code/Chapter09/embed_quantiles/Cargo.toml
200B
Hands-OnConcurrencywithRust_Code/Chapter09/embed_quantiles/Makefile
638B
Hands-OnConcurrencywithRust_Code/Chapter09/embed_quantiles/src/lib.rs
704B
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/benches/mars_bench.rs
623B
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/build.rs
293B
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/c_src/insn.h
1.81KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/c_src/insn_help.h
1.65KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/c_src/sim.c
31.84KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/c_src/sim.h
1.33KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/Cargo.toml
394B
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/src/bin/feruscore.rs
7.05KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/src/bin/fuzz_target.rs
5.1KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/src/individual/mod.rs
5.16KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/src/individual/ringers.rs
1.77KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/src/instruction.rs
16.35KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/src/lib.rs
197B
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/src/mars.rs
8KB
Hands-OnConcurrencywithRust_Code/Chapter09/feruscore/TODO
95B
Hands-OnConcurrencywithRust_Code/Chapter09/sniffer/Cargo.toml
169B
Hands-OnConcurrencywithRust_Code/Chapter09/sniffer/examples/pulse.lua
371B
Hands-OnConcurrencywithRust_Code/Chapter09/sniffer/src/bin/sniffer.rs
4.32KB
Hands-OnConcurrencywithRust_Code/Chapter09/zero_count/Cargo.toml
168B
Hands-OnConcurrencywithRust_Code/Chapter09/zero_count/src/lib.rs
251B
Hands-OnConcurrencywithRust_Code/Chapter09/zero_count/zero_count.py
258B
Hands-OnConcurrencywithRust_Code/README.txt
102B
Hands-OnConcurrencywithRust_Code/Software Hardware List.pdf
197.65KB
W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=