aboutsummaryrefslogtreecommitdiff
path: root/src/inspsocket.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add StreamSocket::GetModHook() for obtaining the IOHook belonging to a given ↵Gravatar Attila Molnar2016-08-081-0/+10
| | | | | | module Use it to simplify logic in all modules using or providing IOHooks
* Pass sendq to OnStreamSocketWriteGravatar Attila Molnar2016-08-081-1/+1
|
* Clean up indent in StreamSocket::DoWrite()Gravatar Attila Molnar2015-06-061-22/+6
|
* Call OnStreamSocketWrite() once per write eventGravatar Attila Molnar2015-06-061-21/+0
| | | | Do sendq flattening in SSL modules, move code for it into class SSLIOHook from core
* Convert all code to use StreamSocket::SendQueueGravatar Attila Molnar2015-06-061-19/+12
| | | | Let OnStreamSocketWrite see the entire sendq instead of one element at a time
* Remove exception handling from StreamSocket methods calling IOHooksGravatar Attila Molnar2015-04-151-28/+3
| | | | IOHooks don't throw exceptions
* Dispatch EventHandler events to dedicated virtual functionsGravatar Attila Molnar2015-04-121-44/+54
| | | | Remove enum EventType
* Use the native IOVector type in StreamSocket::DoWrite()Gravatar Attila Molnar2015-03-041-1/+1
|
* Remove DISABLE_WRITEV and StreamSocket code for platforms lacking writev() ↵Gravatar Attila Molnar2015-03-041-38/+1
| | | | support
* Add SocketEngine::WriteV()Gravatar Attila Molnar2015-03-041-9/+1
|
* 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