#define SESSION_INVALID_INDEX ((u32)~0)
#define SESSION_INVALID_HANDLE ((u64)~0)
#define SESSION_CTRL_MSG_MAX_SIZE 86
+#define SESSION_NODE_FRAME_SIZE 128
#define foreach_session_endpoint_fields \
foreach_transport_endpoint_cfg_fields \
}
static inline session_handle_t
-session_make_handle (u32 session_index, u32 thread_index)
+session_make_handle (u32 session_index, u32 data)
{
- return (((u64) thread_index << 32) | (u64) session_index);
+ return (((u64) data << 32) | (u64) session_index);
+}
+
+always_inline u32
+session_handle_index (session_handle_t ho_handle)
+{
+ return (ho_handle & 0xffffffff);
+}
+
+always_inline u32
+session_handle_data (session_handle_t ho_handle)
+{
+ return (ho_handle >> 32);
}
typedef enum
SESSION_CTRL_EVT_APP_DEL_SEGMENT,
SESSION_CTRL_EVT_MIGRATED,
SESSION_CTRL_EVT_CLEANUP,
+ SESSION_CTRL_EVT_APP_WRK_RPC,
} session_evt_type_t;
#define foreach_session_ctrl_evt \
_(APP_DEL_SEGMENT, app_del_segment) \
_(MIGRATED, migrated) \
_(CLEANUP, cleanup) \
+ _(APP_WRK_RPC, app_wrk_rpc) \
/* Deprecated and will be removed. Use types above */
#define FIFO_EVENT_APP_RX SESSION_IO_EVT_RX
#undef _
} session_error_t;
+#define SESSION_CLI_ID_LEN "60"
+#define SESSION_CLI_STATE_LEN "15"
+
/* Maintained for compatibility. Will be deprecated */
#define SESSION_ERROR_SEG_CREATE SESSION_E_SEG_CREATE
#define SESSION_ERROR_NO_SPACE SESSION_E_SEG_NO_SPACE