ptrd / kwik

A QUIC client, client library and server implementation in Java. Supports HTTP3 with "Flupke" add-on.
GNU General Public License v3.0
383 stars 55 forks source link

use kwik as server role #12

Closed QH-LEO closed 2 years ago

QH-LEO commented 2 years ago

Do we plan to optimize kwik as a server role, such as implementing more featrues of quic.

QH-LEO commented 2 years ago
 Our company is focused on Intelligent shared electric vehicles, we now use pure tcp to transport data, but in some areas of downtown, the signal of 4G may not be satisfied so that GPS data always got wrong or Iot devices go offline frequently. 
We start to notice and investigate quic protocol these days, and we decide to do a simple test before we change the protocol. My team is basically java developers, so we found kiwk and wonder about possibilities of using kwik as a server role.
ptrd commented 2 years ago

What features are you thinking of?

QH-LEO commented 2 years ago

Like session resumption, but I prefer to know the feasibility of deploying kwik as a server role. We learned that using kiwk as a client is a great choice but our hardware department focus on C implementation, so we would rather know its server performance.

ptrd commented 2 years ago

You are probably referring to these remarks in the readme: "As development focus has been on correctness and features (in that order), performance is not optimal yet." and "The server does not support session resumption and 0-RTT (the client does) which might make the server less suitable for production use at this moment."

I'm currently working on implementing session resumption for the server role too, and 0-RTT will follow that.

W.r.t. performance: i've recently made some significant improvements w.r.t. memory usage, that will also (positively ;-)) impact performance. But overall, i haven't put much effort in performance enhancements, so probably, there is more room for improvement (i have some ideas, but that is based on assumptions that would need to be validated first). It is hard to give a general statement about the performance of kwik, as it depends on so many factors. The best advice is to try it out and discuss any findings with me.

Note that I like to improve Kwik, so any feedback is welcome, but the time I can spend on this project is limited.

Hth!

ptrd commented 2 years ago

Kwik server now also supports session resumption and 0-rtt!

ptrd commented 2 years ago

@siaron :