Comments (13)
We thought about the release with the current state from master, but there is still one thing we're waiting for: tokio-tls
. There is a patch in Cargo.toml
of tokio-tungstenite
, without this patch the crate won't compile due to the tokio-tls
dependency which currently uses the old version of native-tls
. We hope that tokio-tls
will get released soon with the new native-tls
dependency (tokio-rs/tokio-tls#43), at that point we can remove the [temporary] patch from our Cargo.toml
and release a new version of tokio-tungstenite
.
from tokio-tungstenite.
Yes. It was actually planned for the previous week but this was not done due to other urgent tasks.
Do you have any special wishes for 0.6? Any functionality you're missing?
from tokio-tungstenite.
Not that I can think of for this specific library.
If asking, in tungstenite proper, I might suggest that Message
uses something like Bytes
instead of Vec<u8>
or String
, to reduce the amount of allocations of copies needed. But I'd suggest that just for performance, I'm not exposing the actual Message
enum to users, specifically to allow the internal buffer type to be changed without affecting them.
from tokio-tungstenite.
When do you plan to release the new version to crates.io?
I've switched to this crate from websockets
because this is much nicer, but don't want to push the move until it's not a git dep anymore.
from tokio-tungstenite.
I'm too using tokio-tungstenite for websocket communication instead of the websocket crate because tokio-tungstenite's is nicer and easier to use.
Speaking of tokio_tls.. What do you think about making the AutoStream
type public?
That'd be helpful for working with the resulting websocket item of connect_async
. To handle the resulting websocket (e.g. keep it in a struct or pass it to a function), I need to give it's exact type. However, I can't use its type WebSocketStream<AutoStream<S>>
, since AutoStream isn't public. So I always end up using the full type WebSocketStream<StreamSwitcher<TcpStream, TlsStream<TcpStream>>>
, which also means that I need to add tokio_tls as a direct dependency to get the StreamSwitcher
type, which is a little unconvenient.
from tokio-tungstenite.
I even feel that AutoStream
should be a separate crate. There are many cases when the same code could either use TLS or not, and this has nothing to do with WebSocket. We had to reinvent many wheels for Tungstenite.
from tokio-tungstenite.
In a separate crate or maybe in tokio_tls. However, the name AutoStream
could be a little confusing since it sounds like the stream would automatically detect TLS. Maybe something like OptionalTlsStream
would be better if used outside of tokio_tungstenite.
from tokio-tungstenite.
Totally agree.
from tokio-tungstenite.
Or maybe even something more general like StreamType
/ NetworkStream
or something like that.
from tokio-tungstenite.
UPD. We're not waiting for tokio-rs/tokio-tls#43 anymore. According to the latest information, Carl has suggested to merge the following pull request: tokio-rs/tokio-tls#45.
Once the changes are merged and published, we can use the version of tokio-tls
from crates.io.
from tokio-tungstenite.
The PR was merged and tokio-tls 0.2 has been published.
from tokio-tungstenite.
Yes, I think we're ready for release now.
ping @agalakhov
@zargony the AutoStream
changes and other small things might be delivered in the upcoming patch version improvements, unless you want to send a pull request before @agalakhov publishes a release ;)
from tokio-tungstenite.
Version 0.6.0 released.
from tokio-tungstenite.
Related Issues (20)
- Can we provided a way to keep the original header name case. HOT 1
- 403 Forbidden HOT 1
- "WebSocket protocol error: httparse error: invalid token" when connect from ngrok tcp tunnel. HOT 5
- Is it possible to bind client to specific interface? HOT 1
- 没有连接断开时,直接检测客户端的状态的api,以实现重新连接,这在其它语言中都是常见的
- Performance boost implementing `poll_write_vectored` and rustls 0.23 HOT 2
- Is MaybeTlsStream supposed to work for servers too? HOT 2
- 0.20 and 0.21 break something HOT 25
- Vectorized send HOT 2
- new rustls 0.23.x is incompatible with the 0.22.x used by tokio-tungstenite HOT 2
- Adding authorization header leads in infinite block of connect_async HOT 2
- How to correctly handle large messages HOT 1
- How can I send pong frames as heartbeats from a client? HOT 4
- Specify default-features = false for rustls in Cargo.toml
- Websocket missing some ping messages. HOT 2
- tokio-tungstenite not using version 0.22 of tungstenite HOT 1
- no process-level CryptoProvider available -- call CryptoProvider::install_default() before this point HOT 5
- No option to enable `url` flag on `tungstenite` HOT 1
- How to reply to the client and send a message if an error occures on `accept_async` funtion. HOT 1
- Rustls: no process-level CryptoProvider available -- call CryptoProvider::install_default() before this point HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tokio-tungstenite.