Ran Benita
be834ac261
Replace unsafe endianness code with byteorder functions
8 years ago
Ran Benita
b5b9e77b03
Make env_logger a dev dependency
...
It is only used by the examples; libraries should only depend on the
`log` crate.
8 years ago
Ran Benita
ae30b8cd76
Apply a couple trivial clippy suggestions
8 years ago
Ran Benita
8955b55e62
Simplify concatenation code using slice::concat
8 years ago
Ran Benita
76e80ca9a3
Only allocate error message if the error occurred
...
Suggested by clippy:
warning: use of `ok_or` followed by a function call
--> src/handshake/server.rs:20:19
|
20 | let key = self.headers.find_first("Sec-WebSocket-Key")
| ___________________^ starting here...
21 | | .ok_or(Error::Protocol("Missing Sec-WebSocket-Key".into()))?;
| |_______________________________________________________________________^ ...ending here
|
= note: #[warn(or_fun_call)] on by default
help: try this
| let key = self.headers.find_first("Sec-WebSocket-Key").ok_or_else(|| Error::Protocol("Missing Sec-WebSocket-Key".into()))?;
= help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#or_fun_call
8 years ago
Ran Benita
3c600aa138
Speed up apply_mask() - part 2
...
This is using some unsafe code and assumptions about alignment to speed
up apply_mask() more.
In profiles, this optimization reduces it from ~55% of the total runtime
to ~7%.
8 years ago
Ran Benita
dd96d3b9d4
Speed up apply_mask()
...
This function is the most speed-critical in the library. In profiles,
this optimization reduces it from ~75% of the profile to ~55%.
I have tried several approaches, but didn't manage to improve on this
one (LLVM already unrolls the loop here). Though I'm sure it is possible.
8 years ago
Ran Benita
ea4b5e4df0
Remove unnecessary transmute in generate_mask()
...
rand::Rand has
impl<T> Rand for [T; 16] where T: Rand
so we don't need to simulate it ourselves.
8 years ago
Alexey Galakhov
e0eecd28b1
Refactor TLS handling
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
450790725d
Bump version
8 years ago
Alexey Galakhov
ca2d2ce313
Merge branch 'devel'
...
Version 0.1.1 released.
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
e2b7b73e72
Improve documentation.
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
b057cf0096
Update for the version 0.7 of the utf8 crate.
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
c6f47503d6
Set categories
8 years ago
Alexey Galakhov
1964932753
Version 0.1.0 released
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
c1e9d454e7
Bump version
8 years ago
Alexey Galakhov
13575184f9
versions: don't use Git version of "bytes"
8 years ago
Alexey Galakhov
6dcaec44d5
Cargo.toml: Cleanup description and keywords
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
fcfa59c912
Enable TLS by default
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
53aa24b06b
Fix warnings
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
037dea1f8e
Add possibility to send pings
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
ac580a666b
Reexport useful components
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
d07f8067ff
Add Readme and update license
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
06a39b4962
protocol: add get_ref() and get_mut()
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
9e00140e19
trivial: debug logging cleanup
8 years ago
Alexey Galakhov
087636c3ad
Merged in handshake-refactor (pull request #1 )
...
Handshake refactor
8 years ago
Alexey Galakhov
c6d3dd6404
refactor: fix unit tests for new API
8 years ago
Alexey Galakhov
b7557f1baa
refactor: make handshake completely async
8 years ago
Alexey Galakhov
334ceab2b0
protocol: less strict trait requirements
8 years ago
Alexey Galakhov
ed276ba923
trivial: fix utf-8 crate version to 0.6
8 years ago
Alexey Galakhov
604e2021ce
protocol: add write_pending() functions
...
The semantics of write_message() and write_frame()
is changed accordingly.
8 years ago
Alexey Galakhov
e6b658d94f
handshake: add the ability to iterate over headers.
8 years ago
Alexey Galakhov
d27f768599
protocol: fix infinite loop in non-blocking mode
8 years ago
Daniel Abramov
93843a1290
Fix `WouldBlock` error handling for the handshakes
8 years ago
Daniel Abramov
0938a17552
Move `no_block()` related stuff into seperate mod
8 years ago
Alexey Galakhov
3bb4331f4f
protocol: fix bug with async handling
8 years ago
Alexey Galakhov
de1fb673b2
error: correct UTF-8 error handling
8 years ago
Alexey Galakhov
345501d5f7
trivial: rename agent to "Tungstenite"
8 years ago
Alexey Galakhov
46bfd81539
protocol: correct non-blocking handling
8 years ago
Alexey Galakhov
838c8e7ea8
Rename the library to "tungstenite"
8 years ago
Alexey Galakhov
7dccc51277
server: implement server
8 years ago
Alexey Galakhov
4714773370
close: implement complete close handshake
8 years ago
Alexey Galakhov
caba37c41e
trivial: fix client example
8 years ago
Alexey Galakhov
422f7bbc45
trivial: move MIN_READ to input_buffer
8 years ago
Alexey Galakhov
e63f594a14
Initial commit, mostly working client
8 years ago