X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fnetspool.h;h=cd5f6a1c7198022e33e67a9ff59cb25e357bc252;hb=2b57abb4e89077f1bdf104e95203015810cf1a6f;hp=7d751727791a3376f07402f2619fbda7cd0b0b8d;hpb=91a7cb6daf6be6f3c0e4de318d13299ae8e11953;p=citadel.git diff --git a/citadel/modules/network/netspool.h b/citadel/modules/network/netspool.h index 7d7517277..cd5f6a1c7 100644 --- a/citadel/modules/network/netspool.h +++ b/citadel/modules/network/netspool.h @@ -27,32 +27,43 @@ * */ -typedef struct MapList MapList; - -struct MapList { - 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 haveDigest; 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 Netmap_AddMe(struct CtdlMessage *msg, const char *defl, long defllen); 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); +void free_spoolcontrol_struct_members(SpoolControl *scc); int writenfree_spoolcontrol_file(SpoolControl **scc, char *filename); int read_spoolcontrol_file(SpoolControl **scc, char *filename); + +void aggregate_recipients(StrBuf **recps, RoomNetCfg Which, OneRoomNetCfg *OneRNCfg, long nSegments); + +void CalcListID(SpoolControl *sc);