S2OPC OPCUA Toolkit
Macros
sopc_toolkit_config_constants.h File Reference

Contains the configuration constants used by the Tookit. Those constants could be modified for specific use. More...

#include <stdbool.h>
#include "sopc_common_constants.h"
#include "sopc_config_constants_check.h"

Go to the source code of this file.

Macros

#define SOPC_MAX_OPERATIONS_PER_MSG   5000
 Maximum number of operations in a request accepted by server (Read, Write, etc.) More...
 
#define SOPC_MAX_HEAVY_OPERATIONS_PER_MSG   1000
 Maximum number of heavy operations in a request accepted by server (AddNodes) More...
 
#define SOPC_MAX_SOCKETS   150
 Maximum number of TCP sockets (listeners and connections) More...
 
#define SOPC_MAX_SOCKETS_CONNECTIONS   50
 Maximum number of TCP sockets connections on a socket listener. More...
 
#define SOPC_MIN_BYTE_BUFFER_SIZE_READ_SOCKET   1024
 Minimum byte buffer size allocated to read data from socket and send it to chunk manager. More...
 
#define SOPC_MAX_ENDPOINT_DESCRIPTION_CONFIGURATIONS   10
 Maximum number of classic endpoint descriptions configured (same as number of connection listeners). This is also the maximum number of reverse endpoint descriptions configured (in addition to classic ones). More...
 
#define SOPC_LISTENER_LISTEN_ALL_INTERFACES   true
 
#define SOPC_MAX_SECURE_CONNECTIONS   21
 Maximum number of secure channel connections (and configurations) established. More...
 
#define SOPC_MAX_SECURE_CONNECTIONS_PLUS_BUFFERED   (5 * SOPC_MAX_SECURE_CONNECTIONS / 4)
 SOPC_MAX_SECURE_CONNECTIONS defines the simultaneous stable SC, More slots are used (+25%) to check if old connection can be closed when maximum is reached. If an old connection is closed for each of the buffered new connection attempt, those are kept otherwise buffered new connection are closed. More...
 
#define SOPC_MINIMUM_SECURE_CONNECTION_LIFETIME   1000
 Minimum value for OPN requestedLifetime parameter. More...
 
#define SOPC_MAX_PENDING_REQUESTS   128
 Maximum number of requests sent by client pending. More...
 
#define SOPC_REQUEST_TIMEOUT_MS   10000
 Maximum time before a response shall be received after sending a request (0 means no limit). Note: the request timeoutHint parameter is set to SOPC_REQUEST_TIMEOUT_MS/2 to let a margin regarding timeoutHint. More...
 
#define SOPC_SC_CONNECTION_TIMEOUT_MS   10000
 Elapsed time after which SC connection establishment is considered timeout (elapsed time between socket connection and OPN response message) More...
 
#define SOPC_MAX_REVERSE_CLIENT_CONNECTIONS   5
 Maximum number of configured reverse connection from a server endpoint to clients. More...
 
#define SOPC_REVERSE_CONNECTION_RETRY_DELAY_MS   1000
 Delay before retrying to establish a reverse connection when socket connection failed. More...
 
#define SOPC_REVERSE_CONNECTION_RECEIVE_RHE_DELAY_MS   1000
 Delay for reception of reverse hello message after server socket connection. More...
 
#define SOPC_MAX_SESSIONS   20
 Maximum number of sessions (and subscriptions: 1 per session) established. More...
 
#define SOPC_MAX_SESSIONS_PER_SECURE_CONNECTION   5
 Maximum number of sessions per secure channel connection. More...
 
#define SOPC_REQUESTED_SESSION_TIMEOUT   60000
 Client requested timeout for which a session shall remain open without activity. More...
 
#define SOPC_MIN_SESSION_TIMEOUT   10000
 Minimum session timeout accepted by server. More...
 
#define SOPC_MAX_SESSION_TIMEOUT   600000
 Maximum session timeout accepted by server. More...
 
#define SOPC_MAX_SESSION_AUTH_ATTEMPTS   3
 Maximum number of session user authentication failure attempts before the session is closed. More...
 
#define SOPC_CREATE_SESSION_LOCK_DELAY_SECS   60
 Period of time in seconds during which new sessions creation will be blocked on the secure channel when SOPC_MAX_SESSION_AUTH_ATTEMPTS user authentication failure attempts occurred. More...
 
#define SOPC_SESSION_ACTIVATION_MIN_DELAY_SECS   10
 Minimum delay in seconds to activate a created session. After this delay the session might be closed by server if maximum number of session used is almost reached. More...
 
#define SOPC_MAX_SUBSCRIPTION_PUBLISH_REQUESTS   10
 Maximum publish requests stored by server for a subscription. More...
 
#define SOPC_MIN_SUBSCRIPTION_INTERVAL_DURATION   100
 Minimum publish interval of a subscription in milliseconds. More...
 
#define SOPC_MAX_SUBSCRIPTION_INTERVAL_DURATION   3600000
 Maximum publish interval of a subscription in milliseconds. More...
 
#define SOPC_MIN_KEEPALIVE_PUBLISH_INTERVALS   1
 Minimum number of publish intervals before a keep alive is sent (server to client) More...
 
#define SOPC_MAX_KEEPALIVE_PUBLISH_INTERVALS   100
 Maximum number of publish intervals before a keep alive is sent (server to client) More...
 
#define SOPC_MIN_LIFETIME_PUBLISH_INTERVALS   3
 Minimum number of publish intervals before lifetime expired (client to server communication) More...
 
#define SOPC_MAX_LIFETIME_PUBLISH_INTERVALS   300
 Maximum number of publish intervals before lifetime expired (client to server communication) More...
 
#define SOPC_MAX_NOTIFICATION_QUEUE_SIZE   1000
 Maximum size of a MonitoredItem notification queue. More...
 
#define SOPC_MIN_EVENT_NOTIFICATION_QUEUE_SIZE   10
 Minimum size of a MonitoredItem event notification queue. More...
 
#define SOPC_DEFAULT_EVENT_NOTIFICATION_QUEUE_SIZE   (SOPC_MAX_NOTIFICATION_QUEUE_SIZE / 2)
 Default size of a MonitoredItem event notification queue. More...
 
#define SOPC_MAX_TRANSLATE_BROWSE_PATH_MATCHES   10
 Maximum number of matches to return for a given relative path Note: 3 arrays of this size are allocated in B model. More...
 
#define S2OPC_NODE_MANAGEMENT   false
 Node management services activation for clients (AddNodes only for now) Note: the services are always accessible as server local service if address space is not constant nor statically defined. More...
 
#define S2OPC_NANO_PROFILE   false
 

Detailed Description

Contains the configuration constants used by the Tookit. Those constants could be modified for specific use.

Macro Definition Documentation

◆ SOPC_MAX_OPERATIONS_PER_MSG

#define SOPC_MAX_OPERATIONS_PER_MSG   5000

Maximum number of operations in a request accepted by server (Read, Write, etc.)

◆ SOPC_MAX_HEAVY_OPERATIONS_PER_MSG

#define SOPC_MAX_HEAVY_OPERATIONS_PER_MSG   1000

Maximum number of heavy operations in a request accepted by server (AddNodes)

◆ SOPC_MAX_SOCKETS

#define SOPC_MAX_SOCKETS   150

Maximum number of TCP sockets (listeners and connections)

◆ SOPC_MAX_SOCKETS_CONNECTIONS

#define SOPC_MAX_SOCKETS_CONNECTIONS   50

Maximum number of TCP sockets connections on a socket listener.

◆ SOPC_MIN_BYTE_BUFFER_SIZE_READ_SOCKET

#define SOPC_MIN_BYTE_BUFFER_SIZE_READ_SOCKET   1024

Minimum byte buffer size allocated to read data from socket and send it to chunk manager.

◆ SOPC_MAX_ENDPOINT_DESCRIPTION_CONFIGURATIONS

#define SOPC_MAX_ENDPOINT_DESCRIPTION_CONFIGURATIONS   10

Maximum number of classic endpoint descriptions configured (same as number of connection listeners). This is also the maximum number of reverse endpoint descriptions configured (in addition to classic ones).

◆ SOPC_LISTENER_LISTEN_ALL_INTERFACES

#define SOPC_LISTENER_LISTEN_ALL_INTERFACES   true

◆ SOPC_MAX_SECURE_CONNECTIONS

#define SOPC_MAX_SECURE_CONNECTIONS   21

Maximum number of secure channel connections (and configurations) established.

◆ SOPC_MAX_SECURE_CONNECTIONS_PLUS_BUFFERED

#define SOPC_MAX_SECURE_CONNECTIONS_PLUS_BUFFERED   (5 * SOPC_MAX_SECURE_CONNECTIONS / 4)

SOPC_MAX_SECURE_CONNECTIONS defines the simultaneous stable SC, More slots are used (+25%) to check if old connection can be closed when maximum is reached. If an old connection is closed for each of the buffered new connection attempt, those are kept otherwise buffered new connection are closed.

◆ SOPC_MINIMUM_SECURE_CONNECTION_LIFETIME

#define SOPC_MINIMUM_SECURE_CONNECTION_LIFETIME   1000

Minimum value for OPN requestedLifetime parameter.

◆ SOPC_MAX_PENDING_REQUESTS

#define SOPC_MAX_PENDING_REQUESTS   128

Maximum number of requests sent by client pending.

◆ SOPC_REQUEST_TIMEOUT_MS

#define SOPC_REQUEST_TIMEOUT_MS   10000

Maximum time before a response shall be received after sending a request (0 means no limit). Note: the request timeoutHint parameter is set to SOPC_REQUEST_TIMEOUT_MS/2 to let a margin regarding timeoutHint.

◆ SOPC_SC_CONNECTION_TIMEOUT_MS

#define SOPC_SC_CONNECTION_TIMEOUT_MS   10000

Elapsed time after which SC connection establishment is considered timeout (elapsed time between socket connection and OPN response message)

◆ SOPC_MAX_REVERSE_CLIENT_CONNECTIONS

#define SOPC_MAX_REVERSE_CLIENT_CONNECTIONS   5

Maximum number of configured reverse connection from a server endpoint to clients.

◆ SOPC_REVERSE_CONNECTION_RETRY_DELAY_MS

#define SOPC_REVERSE_CONNECTION_RETRY_DELAY_MS   1000

Delay before retrying to establish a reverse connection when socket connection failed.

◆ SOPC_REVERSE_CONNECTION_RECEIVE_RHE_DELAY_MS

#define SOPC_REVERSE_CONNECTION_RECEIVE_RHE_DELAY_MS   1000

Delay for reception of reverse hello message after server socket connection.

◆ SOPC_MAX_SESSIONS

#define SOPC_MAX_SESSIONS   20

Maximum number of sessions (and subscriptions: 1 per session) established.

◆ SOPC_MAX_SESSIONS_PER_SECURE_CONNECTION

#define SOPC_MAX_SESSIONS_PER_SECURE_CONNECTION   5

Maximum number of sessions per secure channel connection.

◆ SOPC_REQUESTED_SESSION_TIMEOUT

#define SOPC_REQUESTED_SESSION_TIMEOUT   60000

Client requested timeout for which a session shall remain open without activity.

◆ SOPC_MIN_SESSION_TIMEOUT

#define SOPC_MIN_SESSION_TIMEOUT   10000

Minimum session timeout accepted by server.

◆ SOPC_MAX_SESSION_TIMEOUT

#define SOPC_MAX_SESSION_TIMEOUT   600000

Maximum session timeout accepted by server.

◆ SOPC_MAX_SESSION_AUTH_ATTEMPTS

#define SOPC_MAX_SESSION_AUTH_ATTEMPTS   3

Maximum number of session user authentication failure attempts before the session is closed.

◆ SOPC_CREATE_SESSION_LOCK_DELAY_SECS

#define SOPC_CREATE_SESSION_LOCK_DELAY_SECS   60

Period of time in seconds during which new sessions creation will be blocked on the secure channel when SOPC_MAX_SESSION_AUTH_ATTEMPTS user authentication failure attempts occurred.

◆ SOPC_SESSION_ACTIVATION_MIN_DELAY_SECS

#define SOPC_SESSION_ACTIVATION_MIN_DELAY_SECS   10

Minimum delay in seconds to activate a created session. After this delay the session might be closed by server if maximum number of session used is almost reached.

◆ SOPC_MAX_SUBSCRIPTION_PUBLISH_REQUESTS

#define SOPC_MAX_SUBSCRIPTION_PUBLISH_REQUESTS   10

Maximum publish requests stored by server for a subscription.

◆ SOPC_MIN_SUBSCRIPTION_INTERVAL_DURATION

#define SOPC_MIN_SUBSCRIPTION_INTERVAL_DURATION   100

Minimum publish interval of a subscription in milliseconds.

◆ SOPC_MAX_SUBSCRIPTION_INTERVAL_DURATION

#define SOPC_MAX_SUBSCRIPTION_INTERVAL_DURATION   3600000

Maximum publish interval of a subscription in milliseconds.

◆ SOPC_MIN_KEEPALIVE_PUBLISH_INTERVALS

#define SOPC_MIN_KEEPALIVE_PUBLISH_INTERVALS   1

Minimum number of publish intervals before a keep alive is sent (server to client)

◆ SOPC_MAX_KEEPALIVE_PUBLISH_INTERVALS

#define SOPC_MAX_KEEPALIVE_PUBLISH_INTERVALS   100

Maximum number of publish intervals before a keep alive is sent (server to client)

◆ SOPC_MIN_LIFETIME_PUBLISH_INTERVALS

#define SOPC_MIN_LIFETIME_PUBLISH_INTERVALS   3

Minimum number of publish intervals before lifetime expired (client to server communication)

◆ SOPC_MAX_LIFETIME_PUBLISH_INTERVALS

#define SOPC_MAX_LIFETIME_PUBLISH_INTERVALS   300

Maximum number of publish intervals before lifetime expired (client to server communication)

◆ SOPC_MAX_NOTIFICATION_QUEUE_SIZE

#define SOPC_MAX_NOTIFICATION_QUEUE_SIZE   1000

Maximum size of a MonitoredItem notification queue.

◆ SOPC_MIN_EVENT_NOTIFICATION_QUEUE_SIZE

#define SOPC_MIN_EVENT_NOTIFICATION_QUEUE_SIZE   10

Minimum size of a MonitoredItem event notification queue.

◆ SOPC_DEFAULT_EVENT_NOTIFICATION_QUEUE_SIZE

#define SOPC_DEFAULT_EVENT_NOTIFICATION_QUEUE_SIZE   (SOPC_MAX_NOTIFICATION_QUEUE_SIZE / 2)

Default size of a MonitoredItem event notification queue.

◆ SOPC_MAX_TRANSLATE_BROWSE_PATH_MATCHES

#define SOPC_MAX_TRANSLATE_BROWSE_PATH_MATCHES   10

Maximum number of matches to return for a given relative path Note: 3 arrays of this size are allocated in B model.

◆ S2OPC_NODE_MANAGEMENT

#define S2OPC_NODE_MANAGEMENT   false

Node management services activation for clients (AddNodes only for now) Note: the services are always accessible as server local service if address space is not constant nor statically defined.

◆ S2OPC_NANO_PROFILE

#define S2OPC_NANO_PROFILE   false