* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * InspIRCd: (C) 2002-2010 InspIRCd Development Team
* See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
#ifndef __TREESERVER_H__
#define __TREESERVER_H__
+#include "treesocket.h"
+
/** Each server in the tree is represented by one class of
* type TreeServer. A locally connected TreeServer can
* have a class of type TreeSocket associated with it, for
*/
class TreeServer : public classbase
{
- InspIRCd* ServerInstance; /* Creator */
TreeServer* Parent; /* Parent entry */
TreeServer* Route; /* Route entry */
std::vector<TreeServer*> Children; /* List of child objects */
void SetID(const std::string &id);
public:
+ FakeUser* const ServerUser; /* User representing this server */
+ time_t age;
bool Warned; /* True if we've warned opers about high latency on this server */
bool bursting; /* whether or not this server is bursting */
* represents our own server. Therefore, it has no route, no parent, and
* no socket associated with it. Its version string is our own local version.
*/
- TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::string Name, std::string Desc, const std::string &id);
+ TreeServer(SpanningTreeUtilities* Util, std::string Name, std::string Desc, const std::string &id);
/** When we create a new server, we call this constructor to initialize it.
* This constructor initializes the server's Route and Parent, and sets up
* its ping counters so that it will be pinged one minute from now.
*/
- TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::string Name, std::string Desc, const std::string &id, TreeServer* Above, TreeSocket* Sock, bool Hide);
+ TreeServer(SpanningTreeUtilities* Util, std::string Name, std::string Desc, const std::string &id, TreeServer* Above, TreeSocket* Sock, bool Hide);
int QuitUsers(const std::string &reason);
*/
time_t NextPingTime();
- /** Last ping time in microseconds, used to calculate round trip time
+ /** Last ping time in milliseconds, used to calculate round trip time
*/
unsigned long LastPingMsec;
/** Recursive call for child servers */
void FinishBurstInternal();
+ CullResult cull();
/** Destructor
*/
~TreeServer();
-
};
#endif