0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-30 15:58:20 +02:00
construct/include/ircd/m/gossip.h

40 lines
1,010 B
C++

// The Construct
//
// Copyright (C) The Construct Developers, Authors & Contributors
// Copyright (C) 2016-2020 Jason Volk <jason@zemos.net>
//
// 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};
};