Comments (10)
Yep.
from ranch.
Shall I prepare a PR?
from ranch.
Feel free to, but you'll need to add a ct test for it (for ssl at the very least).
from ranch.
I see no existing tests for sendfile/2
to use as a starter...
from ranch.
There are none because sendfile/2 is trivial while a sendfile with offset/length is harder.
from ranch.
There's a sendfile_fallback function in the file module. Can probably start looking there. Also we probably can do with just a sendfile(Socket, Filename, Start, Length) or something because this way we open the file ourselves and not the user, and the one option available otherwise is chunk_size and is probably not important on a per-file basis.
from ranch.
You mean ranch_(tcp|ssl)
might only expose sendfile/4
, right? I'm pro, with addition in having also sendfile(Socket, File, Start, Length)
exposed. The rationale is that it maps 1-1 to file:sendfile/5
in case of plain TCP which is the major case.
The question though who's in charge to close File
, I believe it's left to user.
In either event, sendfile/4
is more solid solution imho.
What to ranch_ssl
, I'd recommend to put SSL-terminators such as modern haproxy which does also load-balancing and other sweets.
from ranch.
Would you like to write a patch for this?
from ranch.
i hesitate since i have vague skill in ct tests.
TODO
from ranch.
So this has been done. Thanks everyone involved!
from ranch.
Related Issues (20)
- Add more Concuerror tests
- How can gen_tcp be configured to support both IPv4 and IPv6 connections HOT 4
- Supervisor protocol process cannot be stopped when connection is closed (connection_type=supervisor). HOT 15
- Upgrading from 1.4 to 2.0 HOT 5
- Release Ranch 1.8 that is compatible with OTP-24 HOT 15
- Ranch 1.7, issues upgrading a tcp to ssl/tls connection HOT 7
- Add hex metadata to Ranch master HOT 1
- Add a function that converts from ProxyInfo to ssl:connection_information/1 return value HOT 2
- using gen_tcp new interface inet_backend socket cann't listen multiple sockets in one port HOT 6
- remove the socket file before the listen and change_mode the socket file right after listen HOT 14
- Update appup for 2.1.0 HOT 3
- Proxy protocol unique ID TLV type HOT 1
- The user guide links on the README are broken HOT 1
- Password should be blanked instead of logged on error HOT 1
- TLS 1.3 connection with client verification always successful HOT 1
- ranch:handshake(Ref) silently drops invalid TLS connections in ranch_ssl via exit(normal) HOT 16
- Questions about "gen_tcp:accept/2" and "num_acceptors" HOT 2
- ranch:stop_listener/1 throws error HOT 2
- {error, no_cert} with `certs_keys` from OTP 25 HOT 8
- Issue when using DTLS HOT 6
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 ranch.