Activate QUIC Layer from the Structure, User and Database Settings

In 4D v20 beta, we were excited to show you our work on the new QUIC network layer. As the layer is still in the beta version, we deactivated it for the LTS final release. The QUIC layer will be available in the feature releases, so you can follow its development and help us improve it.

While 4D v20 allowed switching network layers only in interpreted applications and forced a new build for engined applications, 4D v20 R2 allows layer changing in compiled/build applications via the Structure, User and Database Settings to facilitate testing even in production.

First, let’s look at the new Network Layer option in the Client-Server tab of the Settings:

As you can see, we added a new drop-down to choose the network layer.

You can switch from ServerNet (the default network layer in 4D) to the legacy network layer or QUIC. As the QUIC network layer is necessarily encrypted, the “encrypt Client-Server communication” checkbox is removed if you select the QUIC layer. Similarly, the “Client-Server Connections Timeout” slider is also removed because UDP doesn’t handle disconnections like TCP.

Thank you!

We’d also like to thank you. Your feedback on this new network layer, and the bug reports you file, help us considerably to improve it. We’re now quite satisfied with its stability and are working on adding the final features that are still missing. As such, in 4D v20 R2, the QUIC network layer is still a beta version that you shouldn’t use in a production environment.
Stay tuned for the subsequent evolutions!

Nicolas Brachfogel
• Product Owner & Senior Developer • Nicolas Brachfogel joined 4D in 2017 as a Senior Developer (4D Server and networking). As Product Owner to manage the release of Apple Silicon, he's in charge of writing user stories and translating them into functional specifications, as well as making sure that feature implementations meet customer needs. A graduate of the Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas began his career as a software developer in 2001. Following several years coding in Java and C++, he went on to specialize in client-server development for video game companies. As a server developer/architect, he successfully worked on the server architectures of many games (Dofus Arena, Drakerz, Trivial Pursuit Go!).