X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fnetspool.h;h=cd5f6a1c7198022e33e67a9ff59cb25e357bc252;hb=2b57abb4e89077f1bdf104e95203015810cf1a6f;hp=ae01838879d1fcf59f48f7ae05e0b64e56363384;hpb=8c8430b53c3cb14bd983cd3c767d7bbe485f4155;p=citadel.git diff --git a/citadel/modules/network/netspool.h b/citadel/modules/network/netspool.h index ae0183887..cd5f6a1c7 100644 --- a/citadel/modules/network/netspool.h +++ b/citadel/modules/network/netspool.h @@ -27,37 +27,43 @@ * */ -typedef struct maplist maplist; - -struct maplist { - struct maplist *next; - StrBuf *remote_nodename; - StrBuf *remote_roomname; -}; - - typedef struct SpoolControl SpoolControl; struct SpoolControl { - long lastsent; - StrBuf *Sender; + OneRoomNetCfg *RNCfg; + struct ctdlroom room; + StrBuf *Users[maxRoomNetCfg]; StrBuf *RoomInfo; - namelist *NetConfigs[maxRoomNetCfg]; - StrBuf *misc; + 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); -int is_recipient(SpoolControl *sc, const char *Name); + +void aggregate_recipients(StrBuf **recps, RoomNetCfg Which, OneRoomNetCfg *OneRNCfg, long nSegments); + +void CalcListID(SpoolControl *sc);