ランタイム・ライブラリ
・
概要
Diarkis ランタイム・ライブラリ はランタイムのコアとなる低レベルな機能が含まれています。
主な機能
基盤機能
Diarkis TCP/UDP/RUDP 通信
スレッド管理
メモリ管理とカスタム ・アロケーター
NAT タイプ判定
各モジュールの機能
Diarkis TCP/UDP/RUDP 通信
Diarkis ランタイム・ライブラリ では TCP/UDP/RUDP による通信をサポートしています。
スレッド管理
Diarkis ランタイム・ライブラリ ではスレッドの操作をクロス・プラットフォームで実行する Diarkis::DiarkisThread
を提供しています。
Diarkis::DiarkisThread
を使用することにより対応プラットフォームすべてで同じインターフェイスを使用してスレッドを操作することが可能となります。
メモリ管理とカスタム・アロケーター
Diarkis ランタイム・ライブラリではカスタム・アロケーターを設定することにより、Diarkis ランタイム・ライブラリ内部のメモリの確保/開放処理をユーザーが置き換えることができます。
Diarkis::ICustomAllocator
を継承してユーザー独自のアロケーターを実装し、Diarkis::SetCustomAllocator
を使用してランタイムに設定してください。
samples/room_broadcast/main.cpp
に実装サンプル・コードがあります。
NAT タイプ判定
Diarkis ランタイム・ライブラリ では Diarkis サーバーと連携した NAT タイプ判定の機能を提供しています。
各モジュールの機能
各モジュールの機能については Diarkis Module を使用することをおすすめします。 ランタイム・ライブラリから直接各モジュールの機能を使用する場合は C++ API ドキュメント を参照してください。
Diarkis ランタイム・ライブラリが使用するリソース
Diarkis ランタイム・ライブラリでは以下のリソースを内部で確保して使用します。
ソケット
ソケットは、UDP サーバ接続時 / TCP サーバ接続時に1つずつ作成されますされます。
UDP
DiarkisUdp::Connect(Async) / DiarkisUdp::ConnectDualMode(Async) を呼び出した際にランタイム・ライブラリで作成されます。
P2P は、UDP で作成した ソケット を使用されます。
TCP
DiarkisTcp::Connect / DiarkisTcp::ConnectDualMode を呼び出した際にランタイム・ライブラリで作成されます。
接続する Diarkis サーバが複数ある場合は、DiarkisInterfaceBase のインスタンスを複数作成する必要がありますので、インスタンス分だけ Socket 数が増えます。
メモリ
(Coming Soon)
スレッド
TCP 接続時は 1 スレッド、UDP 接続時は 2 スレッド作成します。
Diarkis クライアントを使用する際には、Diarkis Module 側でもスレッドを作成しています。詳しくは Diarkis のスレッド をご確認ください。
注意点
Diarkis Module の API はスレッド・セーフではありません。複数スレッドで Diarkis Module を利用する場合はアプリケーション側で排他制御を行ってください。
最終更新