QUICネットワークレイヤーの開発は続いており、4D 20 R4 ではスリープモードと自動アップデートができるようになりました。これらの機能拡張を詳しく見て、他のネットワークレイヤーの動作と比較してみましょう。
スリープモード
マシンをスリープ状態にすると、4D は “スリープモード” と呼ばれる状態になります。サーバーへの接続を切断し、マシンを起こしたときに再接続します。その間、4D Server はこのセッションを特定の時間 (デフォルトでは 2日間) 開いておき、再接続がなければセッションを終了します。たとえば昼休みなどで短時間コンピュータから離れる際に作業中のデータを失うのを防ぐため、スリープモードは必要不可欠です。そのため、この機能は今回、QUICネットワークレイヤーで実装されました。
余談ですが、ServerNetレイヤーの “延期” 方式 (およびアイドル時間タイムアウト) は、QUICネットワークレイヤーでは役に立たないため使われていません。
自動アップデート
アプリケーションを QUICネットワークレイヤーにどのように移行させるべきか、疑問に思っている方も多いと思います。ご心配なく! 自動アップデートはQUICネットワークレイヤーで完璧に機能します。しかし、その働きは単純とはいえないため、どのように動作するかを正確に説明したいと思います。
QUIC は TCP ではなくUDP をベースにしているため、4Dネットワークレイヤーの中ではユニークな存在です。結果、QUIC を知らないバージョンの 4D で作られた古い 4Dクライアントと、QUICネットワークレイヤー上で動作する 4D Server との通信は、技術的に不可能です。しかし幸いなことに、この問題に対応して、動作するようにしました。
実際には、QUICネットワークレイヤーで動作していても、4D Server はServerNetレイヤーを使用する 4Dクライアントからの TCP接続を受け入れます。そのため、この接続をアップデートに利用することができます。正確には、アップデートのためにしか使用できません。そして古い 4Dクライアントが最新バージョンにアップデートされれば、QUICネットワークレイヤーを使用する 4D Serber への接続に問題はありません。
今後は…
4D 20 R5 にも、QUIC の新機能がたくさん追加される予定です。ご期待ください!