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