Network Programming with Rust : Build fast and resilient network servers and clients by leveraging Rust's memory-safety and concurrency features.
Rust has steadily become one of the most important new programming languages in recent years. One the one hand, it is low-level enough to provide fine-grained control over memory while providing memory-safety through compile-time validation. Rust also guarantees data race-free parallelism. All these...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing,
2018.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Cover; Copyright and Credits; Dedication; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: Introduction to Client/Server Networking; A brief history of networks; Layering in networks; Addressing in networks; How IP routing works; How DNS works; Common service models; Connection-oriented service; Connectionless service; The network programming interface in Linux; Summary; Chapter 2: Introduction to Rust and its Ecosystem; The Rust ecosystem; Getting started with Rust; Introduction to the borrow checker; Generics and the trait system; Error handling; The macro system.
- Syntactic macrosProcedural macros; Functional features in Rust; Higher-order functions; Iterators; Concurrency primitives; Testing; Summary; Chapter 3: TCP and UDP Using Rust; A Simple TCP server and client; A Simple UDP server and client; UDP multicasting; Miscellaneous utilities in std::net; Some related crates; Summary; Chapter 4: Data Serialization, Deserialization, and Parsing; Serialization and deserialization using Serde; Custom serialization and deserialization; Parsing textual data; Parsing binary data; Summary; Chapter 5: Application Layer Protocols; Introduction to RPC.
- Introduction to SMTPIntroduction to FTP and TFTP; Summary; Chapter 6: Talking HTTP in the Internet; Introducing Hyper; Introducing Rocket; Introducing reqwest; Summary; Chapter 7: Asynchronous Network Programming Using Tokio; Looking into the Future; Working with streams and sinks; Heading to tokio; Socket multiplexing in tokio; Writing streaming protocols; The larger tokio ecosystem; Conclusion; Chapter 8 : Security; Securing the web; Letsencrypt using Rust; OpenSSL using Rust; Securing tokio applications; Cryptography using ring; Summary; Chapter 9 : Appendix.
- Introduction to coroutines and generatorsHow May handles coroutines; Awaiting the future; Data parallelism; Parsing using Pest; Miscellaneous utilities; Summary; Other Books You May Enjoy; Index.