Diarkis Module

Overview

The Diarkis Runtime Library provides low-level functionality, but for it to run as an actual application, some additional features need to be implemented. The Diarkis Module serves as a framework that implements necessary functions and convenient features to easily integrate the runtime into applications. The source code is located at the following package:

diarkis-module

Basic Structure and File Organization

The Diarkis Module is broadly divided into the following four functionalities:

  • Diarkis Interface

    • This class manages connections to the Diarkis server and the state required to use each module per connection. An instance is created for each connection to the Diarkis server.

    • Implementation is available at diarkis-module/Client/Private/DiarkisInterfaceBase.cpp.

  • Implementation for Each Module

    • Classes named Diarkis "ModuleName"Base implement the features of the module corresponding to ModuleName.

    • Users can customize application-specific behavior by inheriting from this class.

    • Implementations can be found under diarkis-module/Client/Private.

  • Logging Related Features

    • Supports log output for the Diarkis Runtime Library and Diarkis Module.

    • Related source code is located in diarkis-module/Client/Private/logging.

  • Auxiliary Features

    • These are auxiliary features that do not directly relate to Diarkis functionality, such as normal HTTP access and file operations.

    • Related source code is located in diarkis-module/Client/Private/utils.

How to Use Each Module

For using the features of each module from the Diarkis Module, please refer to the pages of each respective module.

  • Room Module

  • MatchMaker Module

  • Field Module

  • P2P Module

  • DM (Direct Message) Module

  • Session Module

  • Group Module

How to Use the Diarkis Module

For basic usage of the Diarkis Module and how to customize it for each application, please refer to the following pages.

Resources Used by the Diarkis Module

The Diarkis Module internally uses the following resources:

Notes

  • Since Diarkis Module is provided as source code, users can directly modify the code for customization. However, please note that significant changes in implementation may occur due to company decisions, which might make merging difficult during version upgrades.

  • The API of Diarkis Module is not thread-safe. When using Diarkis Module with multiple threads, the application side should implement mutual exclusion control.

Last updated

Was this helpful?