Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2cc0ff0030 | |||
| 72935e7ee0 |
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-03-16 - 25.11.15 - fix(rustproxy-http)
|
||||||
|
implement vectored write support for backend streams
|
||||||
|
|
||||||
|
- Add poll_write_vectored forwarding for both plain and TLS backend stream variants
|
||||||
|
- Expose is_write_vectored so the proxy can correctly report vectored write capability
|
||||||
|
|
||||||
## 2026-03-16 - 25.11.14 - fix(rustproxy-http)
|
## 2026-03-16 - 25.11.14 - fix(rustproxy-http)
|
||||||
forward vectored write support in ShutdownOnDrop AsyncWrite wrapper
|
forward vectored write support in ShutdownOnDrop AsyncWrite wrapper
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@push.rocks/smartproxy",
|
"name": "@push.rocks/smartproxy",
|
||||||
"version": "25.11.14",
|
"version": "25.11.15",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.",
|
"description": "A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.",
|
||||||
"main": "dist_ts/index.js",
|
"main": "dist_ts/index.js",
|
||||||
|
|||||||
@@ -109,6 +109,24 @@ impl tokio::io::AsyncWrite for BackendStream {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn poll_write_vectored(
|
||||||
|
self: Pin<&mut Self>,
|
||||||
|
cx: &mut Context<'_>,
|
||||||
|
bufs: &[std::io::IoSlice<'_>],
|
||||||
|
) -> Poll<std::io::Result<usize>> {
|
||||||
|
match self.get_mut() {
|
||||||
|
BackendStream::Plain(s) => Pin::new(s).poll_write_vectored(cx, bufs),
|
||||||
|
BackendStream::Tls(s) => Pin::new(s).poll_write_vectored(cx, bufs),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn is_write_vectored(&self) -> bool {
|
||||||
|
match self {
|
||||||
|
BackendStream::Plain(s) => s.is_write_vectored(),
|
||||||
|
BackendStream::Tls(s) => s.is_write_vectored(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<std::io::Result<()>> {
|
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<std::io::Result<()>> {
|
||||||
match self.get_mut() {
|
match self.get_mut() {
|
||||||
BackendStream::Plain(s) => Pin::new(s).poll_flush(cx),
|
BackendStream::Plain(s) => Pin::new(s).poll_flush(cx),
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartproxy',
|
name: '@push.rocks/smartproxy',
|
||||||
version: '25.11.14',
|
version: '25.11.15',
|
||||||
description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.'
|
description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user