session_watchfun fun;
};
+struct client_list;
+
// End-user session
struct session {
struct conf_service *service; /* service in use for this session */
struct session_database *databases; // All databases, settings overriden
- struct client *clients; // Clients connected for current search
+ struct client_list *clients; // Clients connected for current search
NMEM session_nmem; // Nmem for session-permanent storage
NMEM nmem; // Nmem for each operation (i.e. search, result set, etc)
WRBUF wrbuf; // Wrbuf for scratch(i.e. search)
int number_of_warnings_unknown_elements;
int number_of_warnings_unknown_metadata;
normalize_cache_t normalize_cache;
- YAZ_MUTEX mutex;
+ YAZ_MUTEX session_mutex;
};
struct statistics {
};
struct hitsbytarget *hitsbytarget(struct session *s, int *count, NMEM nmem);
-struct session *new_session(NMEM nmem, struct conf_service *service);
+struct session *new_session(NMEM nmem, struct conf_service *service,
+ const char *name);
void destroy_session(struct session *s);
void session_init_databases(struct session *s);
int load_targets(struct session *s, const char *fn);