Function descriptors within a session (Server)

When you pass a session-duration connection descriptor to one of the Fastpath look-up functions, the look-up function allocates a function descriptor with a PER_SESSION memory duration, called a session-duration function descriptor. The session-duration function descriptor remains allocated until the session ends. In this case, all UDRs within the session can access the cached function descriptor.

For a list of Fastpath look-up functions, see Fastpath look-up functions.
Important: The session-duration connection descriptor and session-duration function descriptor are advanced features of the DataBlade® API. They can adversely affect your UDR if you use them incorrectly. In addition, session-duration function descriptors require named memory to store the pointers to function descriptors. Without named memory, UDRs cannot share these pointers. Named memory is also an advanced feature of the DataBlade API. Use a session-duration function descriptor only when a regular function descriptor cannot perform the task you need done.
The following table summarizes the memory operations for a session-duration function descriptor in a C UDR.
Memory duration Memory operation Function name
PER_SESSION Constructor mi_cast_get(), mi_func_desc_by_typeid(), mi_routine_get(), mi_routine_get_by_typeid(), mi_td_cast_get()

When passed a session-duration connection descriptor instead of a public connection descriptor

PER_SESSION Destructor mi_routine_end()

When the session ends