Refactored pm_session_dettach_others to pm_session_take_over

This commit is contained in:
luwenpeng
2022-08-08 14:19:32 +08:00
parent fd2a67e0eb
commit 0f7468b994
20 changed files with 91 additions and 143 deletions

View File

@@ -15,8 +15,21 @@ typedef void plugin_exit_callback(void);
* Public API For Plugin
******************************************************************************/
/*
* The pm_session_dettach_me just sets the flag to disable this plugin and no longer call this event callback.
* Before calling pm_session_dettach_me, the current plugin must release related resources for the current session.
*/
void pm_session_dettach_me(const struct stellar_session *session);
void pm_session_dettach_others(const struct stellar_session *session);
/*
* The current plugin takes over the current session, the pm_session_take_over setting flag disables other plugins,
* and the current session does not call other plugins except for the SESSION_EVENT_CLOSING event.
*
* The current plugin may be taken over while the session is open (SESSION_EVENT_OPENING),
* other plugins event_cb is not called, the session pme on other plugins is NULL,
* When the session is closed (SESSION_EVENT_CLOSING), call other plugin even_cb to destroy pme must check if pme is NULL.
*/
void pm_session_take_over(const struct stellar_session *session);
#ifdef __cpluscplus
}