Comments (2)
In gitlab by @Geal on Apr 11, 2016, 19:26
This could be represented by a vector of this enum:
enum StuffToWrite {
BufferSlice(start, end), // we can handle absolute positions, from the start of client data stream
Data(Vec<u8>), // an owned vector containing things like additional headers
Splice(usize), // indicates how much data should be copied through splicing
}
This way, we could encode useful scenarii like this one:
- buffer contains 1000 bytes of data
- don't pass the slice from 50 to 75 to the backend
- insert the string "Request-id: 1234"
- copy the rest of the buffer
- splice 30000 bytes of data afterwards
This would be encoded, with end of headers at 120, as [BufferSlice(0, 50), BufferSlice(75, 120), Data("Request-id: 1234"), BufferSlice(120, 1000), Splice(30000)]
The difficulty will probably lie in calculating positions and offsets, since because of deletions and inserts, there will be differences between input buffer position, and resulting stream position.
from sozu.
In gitlab by @Geal on Oct 3, 2016, 17:04
Done
from sozu.
Related Issues (20)
- store HTTPS frontends separately in ConfigState HOT 1
- Use the `thiserror` crate for better error management
- Udate Rustls to 0.21.0
- Error configuring HTTPS HOT 1
- Reconnection on keep alive not working
- worker not restart, (max number of session connection reached, flushing the accept queue) HOT 3
- Redundant check on max sessions reached HOT 2
- Need one criteria only for max capacity
- Implements a fully-featured acme integration HOT 2
- Compiler errors on FreeBSD 13.2 HOT 3
- Build errors preventing it from building for Windows (x86_64-pc-windows-gnu) HOT 1
- Improve metrics and access logs HOT 3
- Auto-save the state, auto-create the unix command socket HOT 4
- HTTP basic authentication
- Make access logs consistent accross protocols and states
- Call to test an upcoming feature on MacOs HOT 7
- Keep track of how many access logs were produced HOT 1
- evaluation order of cluster sub parts after config reload HOT 1
- Main Cargo.lock is not up to date according to latest release HOT 4
- `start_tcp_worker` method uses wrong Protocol HOT 1
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 sozu.