aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspsocket.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Store iovec array on the stack instead of heap allocating it for the ↵Gravatar Attila Molnar2015-01-101-7/+9
| | | | lifetime of writev() in StreamSocket::DoWrite()
* Remove pointless fd == INT_MAX check from StreamSocket::DoWrite()Gravatar Attila Molnar2015-01-101-1/+1
|
* Remove some unnecessary NULL checksGravatar Attila Molnar2015-01-101-5/+2
|
* Reduce std::string::substr() usageGravatar Attila Molnar2015-01-101-5/+4
| | | | substr() returns a new string while erase() and assign() modify the existing one
* Remove current time parameter of the Timer constructorGravatar Attila Molnar2014-07-101-1/+1
|
* Kill needless #includes in source filesGravatar Attila Molnar2014-06-141-3/+0
|
* Change allocation of InspIRCd::Timers to be physically part of the object ↵Gravatar Attila Molnar2014-03-151-1/+1
| | | | containing it
* Call DelFd() and SetFd(-1) from SocketEngine::Close(EventHandler*)Gravatar Attila Molnar2014-02-091-2/+0
|
* Change all socketengine methods to be staticGravatar Attila Molnar2014-02-081-19/+19
|
* Change SocketEngine functions that do not require an instance to be staticGravatar Attila Molnar2014-02-081-5/+5
|
* Allow Timers to delete themselves in Tick()Gravatar Attila Molnar2014-01-301-0/+4
|
* Remove whitespace and minor style changesGravatar Attila Molnar2014-01-231-1/+0
|
* Split IOHook into IOHook and IOHookProviderGravatar Attila Molnar2014-01-221-3/+2
| | | | | | | | | | | | | | | | | | Create one IOHook instance for each hooked socket which contains all the hook specific data and read/write/close functions, removing the need for the "issl_session" array in SSL modules. Register instances of the IOHookProvider class in the core and use them to create specialized IOHook instances (OnConnect/OnAccept). Remove the OnHookIO hook, add a dynamic reference to ListenSocket that points to the hook provider (if any) to use for incoming connections on that socket. For outgoing connections modules still have to find the IOHookProvider they want to use themselves but instead of calling AddIOHook(hookprov), now they have to call IOHookProvider::OnConnect() after the connection has been established.
* Clean up CoreExceptionGravatar Attila Molnar2013-12-181-4/+4
| | | | | - Remove default constructor - Replace virtual functions returning C strings with functions returning const std::string refs
* Merge insp20Gravatar attilamolnar2013-08-301-10/+12
|\
| * Use the correct socket related error messages on WindowsGravatar Adam2013-07-141-5/+5
| |
| * Do not send too much data over SSL in one goGravatar attilamolnar2013-07-071-5/+7
| | | | | | | | Some clients fail to read it entirely and the remaining data stays in their read buffer until new data arrives
* | Create IOHook interface (extracted from Module)Gravatar attilamolnar2013-06-071-8/+9
| |
* | Fix spacing in calls to LogManager::Log.Gravatar Peter Powell2013-05-191-4/+4
| |
* | Merge insp20Gravatar attilamolnar2013-04-281-3/+3
|\|
| * Fix m_ssl_gnutls and perhaps some other things on Windows by recognizing ↵Gravatar Adam2013-04-161-3/+3
| | | | | | | | WSAEWOULDBLOCK
* | Modularize DNSGravatar Adam2013-04-261-1/+1
| | | | | | | | | | | | The DNS modules are temporarily in commands/ so they're loaded automatically Thanks to Attila for helping with much of this.
* | Timer changes and TimerManager enhancementsGravatar attilamolnar2013-04-211-4/+5
| | | | | | | | | | | | | | Timer::Tick() now has a bool return value: if false is returned the timer is deleted using operator delete, otherwise, if it's a repeating timer then it's rescheduled (readded) Timers are removed from the TimerManager automatically at destruction Timers are now stored in a multimap instead of a sorted vector
* | Add LOG_ prefix to the log level enum values.Gravatar Peter Powell2013-04-121-10/+10
|/
* Fix incorrect substr usageGravatar newuser12012-11-061-1/+1
|
* Remove IncreaseOSBuffers() completelyGravatar attilamolnar2012-10-141-10/+0
|
* Remove no-op call to IncreaseOSBuffers() from BufferedSocket::BeginConnect()Gravatar attilamolnar2012-10-131-2/+0
|
* Use socketengine functions for sending and receiving data instead of plain ↵Gravatar attilamolnar2012-05-281-1/+1
| | | | send() and recv() so /STATS z displays correct bandwidth usage
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+19
|
* Fixed Windows build on VS 2010Gravatar Adam2011-04-101-1/+2
|
* Block writes to pending-connect socketGravatar Daniel De Graaf2010-03-271-1/+1
|
* Fix some more incorrect socket useGravatar danieldg2010-03-021-5/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12585 e03df62e-2008-0410-955e-edbf42e46eb7
* Don't try quite so hard to writev() the entire buffer in one goGravatar danieldg2010-03-021-4/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12583 e03df62e-2008-0410-955e-edbf42e46eb7
* Dump sendq before closing socketGravatar danieldg2010-02-151-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12469 e03df62e-2008-0410-955e-edbf42e46eb7
* Delink servers using an SSL module that is being reloadedGravatar danieldg2010-02-031-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12367 e03df62e-2008-0410-955e-edbf42e46eb7
* Correctly abort attempted socket writes on errorGravatar danieldg2010-02-011-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12340 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove unneeded save of errnoGravatar danieldg2010-01-211-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12309 e03df62e-2008-0410-955e-edbf42e46eb7
* ERROR is not a valid log level, so all these messages were getting droppedGravatar danieldg2010-01-191-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12304 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix stripping of character prior to delimiter in StreamSocket::GetNextLine ↵Gravatar danieldg2010-01-141-1/+1
| | | | | | (not noticed because it was usually \r) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12257 e03df62e-2008-0410-955e-edbf42e46eb7
* ...because every now and again, i have to do a massive commit.Gravatar brain2010-01-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
* Get rid of socklen_t parameter to Bind, we are using C++ here and can do it ↵Gravatar danieldg2009-11-131-1/+1
| | | | | | other ways git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12129 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix double-cull of users quitting due to connection errorGravatar danieldg2009-11-121-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12105 e03df62e-2008-0410-955e-edbf42e46eb7
* Catch exceptions in inspsocket callbacksGravatar danieldg2009-10-241-33/+41
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11966 e03df62e-2008-0410-955e-edbf42e46eb7
* Make irc::sockets::* parameters consistent, add irc::sockets::maskGravatar danieldg2009-10-221-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11953 e03df62e-2008-0410-955e-edbf42e46eb7
* Kill ListenSocketBase, use OnAcceptConnection for all new connectionsGravatar danieldg2009-10-211-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
* Make classbase and refcountbase uncopyable; expand comments on their ↵Gravatar danieldg2009-10-171-2/+2
| | | | | | indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
* Correct the will-block prediction on partial writev() returnGravatar danieldg2009-10-121-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11849 e03df62e-2008-0410-955e-edbf42e46eb7
* Define DISABLE_WRITEV and use the IOHook single-copy method for Windows send()Gravatar danieldg2009-10-121-32/+76
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11848 e03df62e-2008-0410-955e-edbf42e46eb7
* * Fix inspsocket to not include uio.h on windows.Gravatar peavey2009-10-101-0/+2
| | | | | | | * Wrap writev and some structs to fix inspsocket compile on win. * Fix a few compile errors due to latest trunk changes in win32wrapper code. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11822 e03df62e-2008-0410-955e-edbf42e46eb7
* Move autoconnect next-server to TreeSocket::cull, and drop autoconnect ↵Gravatar danieldg2009-10-091-0/+2
| | | | | | reference once a connection is complete git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11811 e03df62e-2008-0410-955e-edbf42e46eb7