Server wrapper: provide a way to terminate sessions (except one)

Description

This new feature provides a way for server application to terminate the created/activated server sessions (created by client), excepting one (optional). It will then force the client to establish new sessions.

Detailed description

Add the following wrapper API:

/**
 * \brief Closes all server sessions except the one specified.
 *        All other sessions opened by peer clients are closed by the server.
 *
 * \param exceptSessionId  Session Id of the session to keep open, or 0 to close all sessions.
 *                         It might have been obtained during a method call with SOPC_CallContext_GetSessionId()
 *                         or during session creation/activation with
 *                         ::SESSION_CREATION/::SESSION_ACTIVATION notification events
 *                         (see ::SOPC_ServerConfigHelper_SetSessionEventNotifCallback).
 *
 * \return SOPC_STATUS_OK in case of success,
 *         SOPC_STATUS_INVALID_PARAMETERS, SOPC_STATUS_INVALID_STATE otherwise.
 */
SOPC_ReturnStatus SOPC_ServerHelper_CloseSessions(SOPC_SessionId exceptSessionId);

Code version identification

1.7.0

Security impact

No security impact

Implementation

Add low-level API / asynchronous event in services layer / entry point and operation in B model