|
iceberg-cpp
|
Session state used to bind catalog operations to a caller context. More...
#include <session_context.h>
Static Public Member Functions | |
| static SessionContext | Empty () |
| Create an empty caller context with a generated non-empty session ID. | |
Public Attributes | |
| std::string | session_id |
| std::string | identity |
| std::unordered_map< std::string, std::string > | credentials |
| Sensitive context-specific credentials, such as delegated auth material. | |
| std::unordered_map< std::string, std::string > | properties |
| Non-secret context-specific properties, such as tenant or auth options. | |
Session state used to bind catalog operations to a caller context.
Session context is the isolation boundary for session-aware catalogs. REST catalogs use session_id to derive contextual authentication sessions while keeping user-visible catalog operations on the normal Catalog interface.
The type is intentionally an aggregate so callers can construct it with designated initializers. properties and credentials are kept separate so authentication implementations can detect conflicting keys instead of silently overriding credentials.
|
static |
Create an empty caller context with a generated non-empty session ID.
Each call returns a distinct session ID.
| std::string iceberg::SessionContext::identity |
Caller identity. Empty means no identity was supplied. This value is descriptive and is not implicitly inserted into authentication properties.
| std::string iceberg::SessionContext::session_id |
Unique session identifier. Explicit contexts must provide a non-empty ID.
A session ID identifies a stable caller context. Its identity and credentials must not change while the ID is in use.