Alexey Galakhov
bd9ac9673e
chore: cleanup docs and warnings, strict docs
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
e3c0ec30c8
Fix close handling while read.
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Denis Andrejew
624f1dec1a
improve doc in protocol/mod.rs
8 years ago
Alexey Galakhov
6d10b40215
Flush stream after sending message
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
3abe419e98
Fix fast masking of unaligned data
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
01a9211a84
Move mask functions into a separate file
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
66e30b2767
Return close frame with ConnectionClosed
...
This is a breaking change, thus bump the API version.
Closes : #10
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
8df6bdbeb0
Add Display to CloseFrame and CloseCode
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Alexey Galakhov
bd37c71609
Replace tuple with CloseFrame struct
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
8 years ago
Ran Benita
be834ac261
Replace unsafe endianness code with byteorder functions
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
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
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
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
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
334ceab2b0
protocol: less strict trait requirements
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
d27f768599
protocol: fix infinite loop in non-blocking mode
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
46bfd81539
protocol: correct non-blocking handling
8 years ago
Alexey Galakhov
4714773370
close: implement complete close handshake
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