]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/socketengine.h
Lower <sts:duration> to 5m to prevent misconfigs denying access.
[user/henk/code/inspircd.git] / include / socketengine.h
index 01afb8f91cf1a44bb9cf1119e3b8f9fcbd5bc995..2b759dad84ef541818296ce0439b8086c7be4a8d 100644 (file)
@@ -1,9 +1,15 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
+ *   Copyright (C) 2013-2016 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2013-2014 Adam <Adam@anope.org>
+ *   Copyright (C) 2012-2013, 2017-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
  *   Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
- *   Copyright (C) 2007-2008 Robin Burchell <robin+git@viroteck.net>
- *   Copyright (C) 2005-2007 Craig Edwards <craigedwards@brainbox.cc>
+ *   Copyright (C) 2007-2008, 2017 Robin Burchell <robin+git@viroteck.net>
+ *   Copyright (C) 2007-2008, 2010 Craig Edwards <brain@inspircd.org>
+ *   Copyright (C) 2007 burlex <burlex@e03df62e-2008-0410-955e-edbf42e46eb7>
  *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
@@ -164,12 +170,21 @@ class CoreExport EventHandler : public classbase
         * registered with the SocketEngine
         */
        int fd;
+
+       /** Swaps the internals of this EventHandler with another one.
+        * @param other A EventHandler to swap internals with.
+        */
+       void SwapInternals(EventHandler& other);
+
  public:
        /** Get the current file descriptor
         * @return The file descriptor of this handler
         */
        inline int GetFd() const { return fd; }
 
+       /** Checks if this event handler has a fd associated with it. */
+       inline bool HasFd() const { return fd >= 0; }
+
        inline int GetEventMask() const { return event_mask; }
 
        /** Set a new file desciptor
@@ -298,7 +313,7 @@ class CoreExport SocketEngine
        static void ResizeDouble(std::vector<T>& vect)
        {
                if (SocketEngine::CurrentSetSize > vect.size())
-                       vect.resize(vect.size() * 2);
+                       vect.resize(SocketEngine::CurrentSetSize * 2);
        }
 
 public: