20 #ifndef PAZPAR2_SESSION_H
21 #define PAZPAR2_SESSION_H
23 #include <yaz/comstack.h>
24 #include <yaz/pquery.h>
26 #include <yaz/yaz-ccl.h>
67 #define SESSION_WATCH_SHOW 0
68 #define SESSION_WATCH_RECORD 1
69 #define SESSION_WATCH_SHOW_PREF 2
70 #define SESSION_WATCH_TERMLIST 3
71 #define SESSION_WATCH_BYTARGET 4
72 #define SESSION_WATCH_MAX 4
163 const char *startrecs,
165 const char *filter,
const char *limit,
166 const char **addinfo,
167 const char **addinfo2,
174 int *num,
int *total,
176 Odr_int *approximation,
177 void (*ready)(
void *data),
190 const char *
setting,
const char *value);
196 int record_no, NMEM nmem,
int cached_copy);
205 const char *type,
const char *term);
209 __attribute__ ((format (printf, 3, 4)))
void(* fun)(struct http_channel *c)
struct record_cluster * show_single_start(struct session *s, const char *id, struct record_cluster **prev_r, struct record_cluster **next_r)
const char * session_setting_oneval(struct session_database *db, int offset)
struct record_cluster ** show_range_start(struct session *s, struct reclist_sortparms *sp, int start, int *num, int *total, Odr_int *sumhits, Odr_int *approximation, void(*ready)(void *data), struct http_channel *chan)
void session_alert_watch(struct session *s, int what)
void session_stop(struct session *se)
void session_sort(struct session *se, struct reclist_sortparms *sp, const char *mergekey, const char *rank)
struct session * session_create(NMEM nmem, struct conf_service *service, unsigned session_id)
int ingest_record(struct client *cl, const char *rec, int record_no, NMEM nmem)
ingest XML record
int session_set_watch(struct session *s, int what, session_watchfun fun, void *data, struct http_channel *c)
int session_check_cluster_limit(struct session *se, struct record_cluster *rec)
@ PAZPAR2_MISSING_PARAMETER
@ PAZPAR2_MALFORMED_PARAMETER_VALUE
@ PAZPAR2_HITCOUNTS_FAILED
@ PAZPAR2_MALFORMED_PARAMETER_ENCODING
@ PAZPAR2_NOT_IMPLEMENTED
@ PAZPAR2_ALREADY_BLOCKED
@ PAZPAR2_MALFORMED_SETTING
int ingest_xml_record(struct client *cl, xmlDoc *xdoc, int record_no, NMEM nmem, int cached_copy)
void perform_termlist(struct http_channel *c, struct session *se, const char *name, int num, int version)
int sessions_get_count(void)
#define SESSION_WATCH_MAX
enum pazpar2_error_code session_search(struct session *s, const char *query, const char *startrecs, const char *maxrecs, const char *filter, const char *limit, const char **addinfo, const char **addinfo2, struct reclist_sortparms *sort_parm, const char *mergekey, const char *rank)
void session_destroy(struct session *s)
void add_facet(struct session *s, const char *type, const char *value, int count, struct client *cl)
struct hitsbytarget * get_hitsbytarget(struct session *s, int *count, NMEM nmem)
int session_fetch_more(struct session *s)
void session_apply_setting(struct session *se, const char *dbname, const char *setting, const char *value)
void(* session_watchfun)(void *data)
void show_range_stop(struct session *s, struct record_cluster **recs)
void session_log(struct session *s, int level, const char *fmt,...)
int session_active_clients(struct session *s)
const char * session_lookup_id_facet(struct session *s, struct client *cl, const char *type, const char *term)
void session_init_databases(struct session *s)
int session_is_preferred_clients_ready(struct session *s)
void statistics(struct session *s, struct statistics *stat)
void show_single_stop(struct session *s, struct record_cluster *rec)
Represents client state for a connection to one search target.
struct termlist * termlist
struct named_termlist * next
struct database * database
struct session_database * next
struct setting ** settings
http_channel_observer_t obs
int number_of_warnings_unknown_elements
struct client_list * clients_cached
facet_limits_t facet_limits
struct client_list * clients_active
int number_of_warnings_unknown_metadata
struct session_watchentry watchlist[SESSION_WATCH_MAX+1]
struct named_termlist * termlists
struct session_database * databases
struct facet_id * facet_id_list
struct conf_service * service
struct relevance * relevance
struct reclist_sortparms * sorted_results
normalize_cache_t normalize_cache