]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/network/netspool.h
no, CalcListID is needed in both places :(
[citadel.git] / citadel / modules / network / netspool.h
index 34e13acae9ddebcf1654c99143ce1600dd5a72fa..e3f225b3e94e378c2337f4c861b50ed782f3da67 100644 (file)
  *
  */
 
-typedef struct maplist maplist;
-
-struct maplist {
-       struct maplist *next;
-       StrBuf *remote_nodename;
-       StrBuf *remote_roomname;
-};
-
-
 typedef struct SpoolControl SpoolControl;
 
 struct SpoolControl {
        OneRoomNetCfg *RNCfg;
+       struct ctdlroom room;
+       StrBuf *Users[maxRoomNetCfg];
+       StrBuf *RoomInfo;
+       StrBuf *ListID;
        FILE *digestfp;
        int num_msgs_spooled;
+       long lastsent;
 
        HashList *working_ignetcfg;
        HashList *the_netmap;
+
+       SpoolControl *next;
 };
 
 
-void network_spoolout_room(RoomProcList *room_to_spool,                       
-                          HashList *working_ignetcfg,
-                          HashList *the_netmap);
+void network_spoolout_room(SpoolControl *sc);
+
+void InspectQueuedRoom(SpoolControl **pSC,
+                      RoomProcList *room_to_spool,     
+                      HashList *working_ignetcfg,
+                      HashList *the_netmap);
+
+int HaveSpoolConfig(OneRoomNetCfg* RNCfg);
+
+
 void network_do_spoolin(HashList *working_ignetcfg, HashList *the_netmap, int *netmap_changed);
 void network_consolidate_spoolout(HashList *working_ignetcfg, HashList *the_netmap);
 void free_spoolcontrol_struct(SpoolControl **scc);
 int writenfree_spoolcontrol_file(SpoolControl **scc, char *filename);
 int read_spoolcontrol_file(SpoolControl **scc, char *filename);
-int is_recipient(OneRoomNetCfg *RNCfg, const char *Name);
+
+void aggregate_recipients(StrBuf **recps, RoomNetCfg Which, OneRoomNetCfg *OneRNCfg, long nSegments);
+
+void CalcListID(SpoolControl *sc);