// The Construct // // Copyright (C) The Construct Developers, Authors & Contributors // Copyright (C) 2016-2020 Jason Volk // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice is present in all copies. The // full license for this software is available in the LICENSE file. #pragma once #define HAVE_IRCD_M_GOSSIP_H namespace ircd::m::gossip { struct opts; struct gossip; extern log::log log; }; struct ircd::m::gossip::gossip { gossip(const room::id &, const opts &); }; struct ircd::m::gossip::opts { /// The remote server to gossip with. May be empty to gossip with every /// server in the room. string_view remote; /// An event to gossip about. May be empty to determine which event must /// be gossiped about. m::event::id event_id; /// Coarse timeout for various network interactions. milliseconds timeout {7500ms}; };