X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fnetspool.h;h=cd5f6a1c7198022e33e67a9ff59cb25e357bc252;hb=2b57abb4e89077f1bdf104e95203015810cf1a6f;hp=e52829bce1e3b4fd639f412c81585668b9e7a2ae;hpb=b35ed2c5958f57f2113dec3adc66274419af3066;p=citadel.git diff --git a/citadel/modules/network/netspool.h b/citadel/modules/network/netspool.h index e52829bce..cd5f6a1c7 100644 --- a/citadel/modules/network/netspool.h +++ b/citadel/modules/network/netspool.h @@ -27,38 +27,43 @@ * */ -typedef struct maplist maplist; - -struct maplist { - struct maplist *next; - char remote_nodename[SIZ]; - char remote_roomname[SIZ]; -}; - - typedef struct SpoolControl SpoolControl; struct SpoolControl { - long lastsent; - namelist *listrecps; - namelist *digestrecps; - namelist *participates; - maplist *ignet_push_shares; - char *misc; + 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); -int is_recipient(SpoolControl *sc, const char *Name); + +void aggregate_recipients(StrBuf **recps, RoomNetCfg Which, OneRoomNetCfg *OneRNCfg, long nSegments); + +void CalcListID(SpoolControl *sc);