Evgeniy A. Dushistov
5a95f12c6d
refactoring/apply_mask: reduce number of usage of unsafe to 1
...
Plus it should be faster now:
apply_mask/fallback/0 time: [24.282 ns 24.727 ns 25.255 ns]
apply_mask/fast/0 time: [11.921 ns 11.963 ns 12.011 ns]
apply_mask/fast_safe/0 time: [7.9340 ns 7.9807 ns 8.0261 ns]
apply_mask/fallback/1 time: [25.284 ns 25.710 ns 26.124 ns]
apply_mask/fast/1 time: [20.433 ns 20.476 ns 20.511 ns]
apply_mask/fast_safe/1 time: [9.3208 ns 9.3833 ns 9.4470 ns]
apply_mask/fallback/2 time: [16.051 ns 16.160 ns 16.275 ns]
apply_mask/fast/2 time: [20.564 ns 20.569 ns 20.574 ns]
apply_mask/fast_safe/2 time: [9.1449 ns 9.1830 ns 9.2189 ns]
apply_mask/fallback/3 time: [15.386 ns 15.548 ns 15.715 ns]
apply_mask/fast/3 time: [18.836 ns 18.867 ns 18.917 ns]
apply_mask/fast_safe/3 time: [8.3092 ns 8.3566 ns 8.4076 ns]
5 years ago
Evgeniy A. Dushistov
9764ac13a1
infra/apply_mask: test more case for apply_mask
...
make sure that input with len 0,1,2,3 also tested
5 years ago
Evgeniy A. Dushistov
de80b9bced
Change Into to From for CloseCode to u16 conversation
...
As stated in standard library documentation:
> One should always prefer implementing From over Into because implementing From automatically
> provides one with an implementation of Into thanks to the blanket implementation in the standard library.
And this provides the way to use u16::from(close_code)
5 years ago
Mike Pedersen
1f744f1548
Make mask public on FrameHeader
...
Without the ability to get the mask, having the `FrameHeader` struct as a public type along with functions like `parse` is somewhat useless. I can't see any reason why it shouldn't be public.
5 years ago
Daniel Abramov
0c429cba94
chore: remove deprecated `description()`
...
Fixes #111
5 years ago
Naja Melan
9c48226c8f
chore: Remove needless closing/opening of the impl block on WebSocketContext.
5 years ago
Naja Melan
1f407f1005
feat: Allow reading the configuration.
...
This allows wrapper types to correctly split data before creating websocket
messages, guaranteeing to respect the max size.
Notably when the WebSocket is provided by user code.
5 years ago
macpp
0bfc217cfc
allow firefox to connect
5 years ago
Alexey Galakhov
6b3423292f
trivial: fix clippy warning
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
5 years ago
Alexey Galakhov
85f211230a
websocket: add `can_read()` and `can_write()`
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
5 years ago
Alexey Galakhov
da3acc107e
protocol: handle "Connection reset by peer" in closing state
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
5 years ago
Alexey Galakhov
c08f2c72ff
client: correct port in request
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
5 years ago
Alexey Galakhov
9ec11cbc7a
client: cover request generation with tests
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
5 years ago
Sebastian Dröge
c2f713b6bb
Update to http 0.2
5 years ago
Alfie John
7ca9bd6f2f
Minor grammar fix
5 years ago
Sebastian Dröge
88760b8b59
Fix various clippy warnings
5 years ago
Sebastian Dröge
7a4779b6f6
Run everything through rustfmt
5 years ago
Sebastian Dröge
07d4721ffd
Add type aliases for Response/Request with a fixed body type
...
Simplifies correct usage of the API.
5 years ago
Sebastian Dröge
1ecc4f900d
Use Response for the server handshake callback too
...
And add a public create_response(&Request) function that creates an
initial response. This can be used to simplify integration into existing
HTTP libraries.
5 years ago
Sebastian Dröge
09a9b7ceef
Remove custom Request/Response types from server code
...
Fixes https://github.com/snapview/tungstenite-rs/issues/92
5 years ago
Sebastian Dröge
9020840f84
Remove custom Request/Response types from client code
...
Fixes https://github.com/snapview/tungstenite-rs/issues/92
5 years ago
Sebastian Dröge
38a7d1a375
Remove custom Headers type and use http::HeaderMap instead
...
Fixes https://github.com/snapview/tungstenite-rs/issues/92
5 years ago
Danilo Bargen
5f3f4c016e
Fix typo in docs
5 years ago
Daniel Abramov
c291395d3b
Fixes #86
5 years ago
Alexey Galakhov
2903a02ef5
frame: correct possible infinite loop on sending
...
Closes : #83
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
5 years ago
Naja Melan
17fe7987eb
Make use of can_read
5 years ago
Daniel Abramov
b807f76ed1
Update error description
...
Remove the statement which is not valid anymore.
5 years ago
Naja Melan
1ee3f342aa
Consider remote sending a frame after sending a close frame a protocol error.
...
The websocket RFC explicitly states this is not allowed.
5 years ago
Naja Melan
2918eec1b3
No longer accept to send after close
5 years ago
Danny Browning
6369d48579
Fix compilation error without default features
5 years ago
Naja Melan
f818322a25
Add some documentation to WebSocket and Error.
5 years ago
Naja Melan
9379ebe47d
Don't swallow ping/pong while waiting for close acknowledgement
5 years ago
Danny Browning
02684b4946
Try removing unpin
5 years ago
Naja Melan
bf63a71cd1
cleanup unnecessary dereference
5 years ago
Danny Browning
614a5068fa
Tokio-Tungstenite Async Changes
...
Changes required for tokio-tungstenite async implementation.
5 years ago
Naja Melan
28579b567a
Improve WebSocketState interface with Copy, PartialEq, ...
5 years ago
Naja Melan
b923ec42c0
Keep processing incoming data even after we have initiated a close handshake.
5 years ago
Artem Vorotnikov
cbf80ecc76
Edition 2018, formatting, clippy fixes
5 years ago
Daniel Abramov
e2bec4b81f
Change the way we return `Err::ConnectionClosed`
...
This way will ensure that we only return this error once. The previous
solution fixed the problem, but it did not guarantee that ""connection
closed" is returned only once.
5 years ago
Daniel Abramov
dbc8bd7b71
Fix issue with hanging server connection
5 years ago
Simon Sapin
4b1d89daf1
Update the url crate to 2.0
5 years ago
Alexey Galakhov
06308b1b3f
close: fix autobahn regression
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
b8f7d3668e
close: refine close semantics
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
6f132208ee
server: let callback return HTTP error messages
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Yusuke Sasaki
828eafd400
extract the context values from `WebSocket`
6 years ago
Daniel Abramov
c8c3d6290d
Make `Close` part of the `Message` enum
6 years ago
Evan Schwartz
da85989934
feat: impl Into<Vec<u8>> for Message
6 years ago
Alexey Galakhov
a7e87488c4
config: make config settable at runtime
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
9b0a2e0f11
trivial: split public and private impl
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
a2e122ab9e
refactor: mask: pass mask by value
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago