Comments (2)
LiteSpeed QUIC is a quic library, and use libevent in examples.
from libevent.
@azat IMO, libevent don't have to offer something like bufferevent_sock_udp, or even make bufferevent_openssl support quic. However, libevent should return the size of bufferevent_private, so that bufferevent can be extend like bufferevent_openssl (or buffereent_ssl in master), bufferevent_filter, bufferevent_pair, etc.
If we have no bufferevent_private
, then most functions of bufferevent_xxx
cannot be used, as most of them requires the bufferevent is bufferevent_private
(the lock).
In the way of implementing openssl quic / http3, I use the bufferevent_socket
(core part of bufferevent_private
), then rewrite the callback of ev_write
and ev_read
, and store the extend part like bufferevent_filter
/ bufferevent_openssl
as bufferevent_context in watermark read / write low, as I found they are only be called in ev_write
/ ev_read
callback, and as I rewrite the callback, so I can use it. (size_t have the same size of void *).
BTW, I use the same trick to implement socket udp (udp socket have special recv and send, and for server, we use the same sock to recv), and implement a simple http2, and websocket over http2, of course, and websocket over http3.
from libevent.
Related Issues (20)
- WSOptions enum value bug
- Potential NULL pointer dereference HOT 1
- Potential Null dereference in test-dumpevents.c HOT 1
- Potential Null pointer dereference in bufferevent_openssl.c HOT 1
- Potential Null pointer dereference in regress_ws.c HOT 1
- Potential Null pointer dereference in time-test.c HOT 1
- Failure making HTTP request to unix socket HOT 2
- Coverage report is broken
- Undefined symbols for architecture after building libevent HOT 2
- libevent for iOS HOT 8
- MacOS CI is broken HOT 7
- event_process_active_single_queue: Use of memory after it is freed
- Unexpected input(s) 'vcpkgArguments', 'vcpkgTriplet' HOT 2
- windows socks5 combo mbedtls client: [warn] BUG: Unexpected mbedtls error code -29184: SSL - An invalid SSL record was received HOT 1
- Class member functions to be param callback of event_new HOT 1
- deadlock on event_del_nolock_() HOT 2
- Segmentation fault after bufferevent_write HOT 4
- bufferevent_write deadlock
- buffereven_write blocking problem 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 libevent.