u8 original_tp;
u8 *hostname;
u64 parent_handle;
+ u32 ckpair_index;
} session_endpoint_cfg_t;
#define SESSION_IP46_ZERO \
.app_wrk_index = ENDPOINT_INVALID_INDEX, \
.opaque = ENDPOINT_INVALID_INDEX, \
.hostname = 0, \
- .parent_handle = SESSION_INVALID_HANDLE \
+ .parent_handle = SESSION_INVALID_HANDLE, \
+ .ckpair_index = 0 \
}
#define session_endpoint_to_transport(_sep) ((transport_endpoint_t *)_sep)
/*
* Session states
*/
+#define foreach_session_state \
+ _(CREATED, "created") \
+ _(LISTENING, "listening") \
+ _(CONNECTING, "connecting") \
+ _(ACCEPTING, "accepting") \
+ _(READY, "ready") \
+ _(OPENED, "opened") \
+ _(TRANSPORT_CLOSING, "transport-closing") \
+ _(CLOSING, "closing") \
+ _(APP_CLOSED, "app-closed") \
+ _(TRANSPORT_CLOSED, "transport-closed") \
+ _(TRANSPORT_DELETED, "transport-deleted") \
+ _(CLOSED, "closed") \
+
typedef enum
{
- SESSION_STATE_CREATED,
- SESSION_STATE_LISTENING,
- SESSION_STATE_CONNECTING,
- SESSION_STATE_ACCEPTING,
- SESSION_STATE_READY,
- SESSION_STATE_OPENED,
- SESSION_STATE_TRANSPORT_CLOSING,
- SESSION_STATE_CLOSING,
- SESSION_STATE_APP_CLOSED,
- SESSION_STATE_TRANSPORT_CLOSED,
- SESSION_STATE_TRANSPORT_DELETED,
- SESSION_STATE_CLOSED,
- SESSION_STATE_N_STATES,
+#define _(sym, str) SESSION_STATE_ ## sym,
+ foreach_session_state
+#undef _
+ SESSION_N_STATES,
} session_state_t;
typedef enum session_flags_
SESSION_F_RX_EVT = 1,
SESSION_F_PROXY = (1 << 1),
SESSION_F_CUSTOM_TX = (1 << 2),
+ SESSION_F_IS_MIGRATING = (1 << 3),
} session_flags_t;
typedef struct session_