ERecordType
This enumeration describes the type of record and thus the message.
public enum ERecordType
{
REQUEST,
NOTIFICATION,
DATA_CONTAINER
}
Description
Request
A Request, in information technology, refers to a message sent from a client to a server to initiate a specific action, request a resource, or transmit data. A response from the receiver is usually expected, containing either the requested data, a confirmation of the action performed, or status information.
Notification
A Notification serves as an essential means of communication in software development, particularly in the context of distributed systems and reactive architectures. It informs observers about an event or a state change in a subject that they have previously subscribed to. This pattern, known as the Observer Pattern, enables loose coupling between components, as the subject (the sender) does not need to know which specific observers (the receivers) exist. It is only responsible for dispatching the notification as soon as a relevant event occurs—for example, the update of a data set, the completion of a process, or a critical system alert. By using notifications, multiple interested components can react synchronously to a single change without the original subject having to explicitly call each individual component. This significantly increases the flexibility, maintainability, and scalability of the application.
Data Container
A Data Container (or Data Record) is a logical unit that bundles a defined set of data fields (attributes), allowing it to be treated as a coherent record. These containers are typically components of other records, which transmit them either individually or as an array. This is the core principle of data structuring and serialization. Since every record can contain an arbitrary number of other records—i.e., data containers—including nested arrays and lists, complex data structures such as hierarchical trees or intricate graphs can be easily transmitted. This nesting allows highly structured information (e.g., an order with multiple items, where each item is its own record with a product ID and quantity) to be sent across networks or stored in databases. Data containers thus ensure the consistency and readability of the data, regardless of the transmission medium or the programming language used.
Record Definition
The values of the enum play an informal role in the service API when defining records.
These are defined in the service API as JSON files or XML files.
The type field specifies whether it is a request, notification, or data container.
{
"id": "b5704abf-f279-4220-8a0d-3d937e7d341e",
"name": "TCP_DELETE_SERVER",
"isNanoService": "true",
"type": "REQUEST",
"hasOtherSlots": "false",
"description": "Close and delete a TCP server.",
"namespaces": "SYSTEM",
"slots": [
{
"key": "1",
"name": "ID",
"direction": "REQUEST",
"presenceConstraint": "CONDITIONAL_EXCLUSIVE",
"type": "UUID",
"description": "The server ID. Will be taken if the PORT is missing."
},
{
"key": "2",
"name": "PORT",
"direction": "REQUEST",
"presenceConstraint": "CONDITIONAL_EXCLUSIVE",
"type": "INT",
"description": "The server port, will be taken if the ID is missing."
}
]
}