]> code.citadel.org Git - citadel.git/blobdiff - citadel/context.h
Cache the most recently fetched msglist in CtdlForEachMessage()
[citadel.git] / citadel / context.h
index 679f90e99b88cb9d5244f0796a1f0b3496999190..4c7c117a5dee4488b4d089522917ead43f6c495a 100644 (file)
@@ -41,7 +41,7 @@ struct CitContext {
        struct CitContext *next;        /* Link to next session in the list */
 
        int cs_pid;             /* session ID */
-       int dont_term;          /* for special activities like artv so we don't get killed */
+       int dont_term;          /* for special activities like artv so we don't get killed */
        time_t lastcmd;         /* time of last command executed */
        time_t lastidle;        /* For computing idle time */
        CCState state;          /* thread state (see CON_ values below) */
@@ -109,10 +109,6 @@ struct CitContext {
        struct ctdluser user;   /* Database record buffers */
        struct ctdlroom room;
 
-       /* Beginning of cryptography - session nonce */
-       char cs_nonce[NONCE_SIZE];      /* The nonce for this session's next auth transaction */
-
-
        /* A linked list of all instant messages sent to us. */
        struct ExpressMessage *FirstExpressMessage;
        int disable_exp;        /* Set to 1 to disable incoming pages */
@@ -135,10 +131,11 @@ struct CitContext {
        void *openid_data;                      /* Data stored by the OpenID module */
        char *ldap_dn;                          /* DN of user when using AUTHMODE_LDAP */
 
-
        void (*h_command_function) (void) ;     /* service command function */
        void (*h_async_function) (void) ;       /* do async msgs function */
        void (*h_greeting_function) (void) ;    /* greeting function for session startup */
+
+       long *cached_msglist;                   /* results of the previous CtdlForEachMessage() */
 };
 
 typedef struct CitContext CitContext;