Vadim Zeitlin
437a8892a1
set m_closed to true when we get connection lost notification
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 11:39:46 +00:00
Vadim Zeitlin
735ac2bc94
also initialize option value length before calling getsockopt()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 00:21:28 +00:00
Vadim Zeitlin
f16ba4bb7e
initialize name length before calling getsockname()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 00:19:37 +00:00
Vadim Zeitlin
00414faf34
use DispatchTimeout() and/or select() with timeout instead of polling loop in wxSocket::DoWait()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 22:50:50 +00:00
Vadim Zeitlin
22185a1f15
remove m_use_events from Unix wxSocket implementation, we always need asynchronous socket notifications now (and this was always the case under Windows anyhow), even if we don't always generate wx events corresponding to them
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 20:20:46 +00:00
Vadim Zeitlin
2f1c8faf2c
we don't need to use select() in DoWait() if we're receiving notifications about changes on our socket anyhow, this makes the code less efficient and, most importantly, much more confusing than necessary
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 14:39:04 +00:00
Vadim Zeitlin
5c1193e090
remember the events we were notified about in OnRequest() (not used yet but necessary for upcoming changes)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 14:33:52 +00:00
Vadim Zeitlin
5b90e570c9
use INVALID_SOCKET instead of -1 to avoid signed/unsigned comparison warning
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 20:28:14 +00:00
Vadim Zeitlin
c6b1063250
refactor Input/Output_Timeout: don't duplicate the same code in MSW/Unix code and also don't duplicate it for input and output, one function is enough for both
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 20:27:35 +00:00
Vadim Zeitlin
54cb21d692
remove wxSocketManager::CreateSocket() function, we don't need to have different wxSocketImpl implementation for the same platform, all the differences between console and GUI applications are abstracted by wxSocketManager::Install/Uninstall_Callback() methods
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 15:06:50 +00:00
Vadim Zeitlin
6091364135
rename various gsock* files to sock* (except for MSW where this will be done later)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 13:04:47 +00:00
Vadim Zeitlin
51fe4b60ab
Streamline wxSocket code: wxSocketBase now uses wxSocketImpl (previously known
...
as GSocket) which is a base class with various wxSocketImplXXX implementations
provided by different wxSocketManagers.
Share more code between ports (still not finished).
Refactor some code inside wxSocketImpl itself to be less redundant and fixed a
couple of minor bugs in the process.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 12:47:07 +00:00
Vadim Zeitlin
f0fbbe2364
trying to resolve GSocketManager API mess: the meaning of Install/Uninstall_Callback() and Enable/Disable_Events() has diverged in different ports and didn't make any sense any more; merge them in a single function (with still differing semantics though); also added Close_Socket()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-25 13:33:07 +00:00
Vadim Zeitlin
87c0312a66
use struct timeval and not a long to store socket timeout under Unix too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 13:39:12 +00:00
Vadim Zeitlin
025644120d
move more socket functions common to Winsock and BSD implementations to common code
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 13:30:42 +00:00
Vadim Zeitlin
5b8cadd2ba
remove unused any more wx_socket_callback()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 13:18:43 +00:00
Vadim Zeitlin
53a161e101
continuation of GSocket/wxSocket merge: always create GSocket associated to a wxSocket instead of (always) doing it using a separate call later; remove support for user callbacks which wasn't implemented in Windows version and deprecated since 10 years or so
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 13:12:46 +00:00
Vadim Zeitlin
40e7c0b913
compilation fixes for Unix after moving wxFD_XXX macros from wx/unix/private.h
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 01:52:20 +00:00
Vadim Zeitlin
eb97543d28
don't duplicate GSocket creation/destruction and shutdown code in BSD and Winsock implementations
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 01:44:50 +00:00
Vadim Zeitlin
e6f466082e
fix timeout value for wxDatagramSocket: was off by a factor of 1000
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 01:15:44 +00:00
Vadim Zeitlin
f0db5d7587
do not require a running event loop, even under MSW, for the sockets to work: if the user code doesn't use events there is no reason for it to run the event loop, especially as it's not needed under the other platforms; instead use the same Select() implementation as under Unix under MSW too and, to avoid duplicating it, put it into the new GSocketBase class
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 00:11:09 +00:00
Vadim Zeitlin
cc0972a251
no real changes, just also rename _Read/_Write() to DoRead/DoWrite() and clean them a little more too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-13 13:24:48 +00:00
Vadim Zeitlin
60ee017274
Cleanup of wxSocket::_Wait():
...
- Rename to DoWait() to avoid symbols starting with underscores.
- Added comments explaining how does it work.
- Remove the pointless timeout manipulations: GSocket::Select() doesn't
use timeout (any more?) anyhow.
Also pass GSOCK_LOST_FLAG to DoWait() from WaitForWrite() for the same reasons
it is done in WaitForRead().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-13 13:00:49 +00:00
Vadim Zeitlin
c2116a3579
no changes at all, just reformatted to use consistent indentation before the upcoming real changes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-12 23:04:33 +00:00
Vadim Zeitlin
b8d1915daf
use the currently active event loop for the event dispatching instead of wxYield(), this allows to create local event loops when using non-blocking sockets; assert if there is no active event loop under MSW as sockets won't work without it
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-12 22:55:14 +00:00
Vadim Zeitlin
c91574928d
add wxSocket::IsClosed(), use it to implement Eof() in wxSocketStream
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-12 02:28:12 +00:00
Vadim Zeitlin
72ac4e888a
take const address objects in wxSocketClient::Connect() and wxSocketBase::SetLocal()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-06 02:21:39 +00:00
Vadim Zeitlin
089b23d028
initialize m_initial{Recv,Send}BufferSize in wxSocketClient ctor (patch 1905981)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 02:10:49 +00:00
Vadim Zeitlin
2804f77d88
more socket cleanup to allow using wxSocket from both wxBase and wxCore (replaces patch 1756260)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-19 16:45:08 +00:00
Paul Cornett
204abcd474
remove unneccessary header dependencies on wx/thread.h
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 02:55:14 +00:00
Vadim Zeitlin
8c029a5b02
added SetInitialSocketBuffers() to allow changing the send/receive buffer sizes (patch 1829576)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-17 15:21:26 +00:00
Vadim Zeitlin
985acf8734
reverted wxSocket changes of rev 48723 as they broke linking under non-Unix systems
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-17 00:22:05 +00:00
Vadim Zeitlin
22b6de6a70
more fixes for using wxSocket in console applications (patch 1756260)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-16 14:29:42 +00:00
Vadim Zeitlin
4252569b32
use wxGetLocalTimeMillis() instead of wxDateTime in wxSocketBase::_Wait(), this allows to use sockets without wxUSE_DATETIME
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-16 21:16:03 +00:00
Vadim Zeitlin
60edcf4535
added support for broadcasting to UDP sockets (patch 1740266)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-04 21:33:11 +00:00
Vadim Zeitlin
28bf2f3c66
fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (patch 1667145)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 23:18:40 +00:00
Włodzimierz Skiba
02761f6cd4
Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00
Włodzimierz Skiba
c0badb709a
Include wx/timer.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-23 11:04:37 +00:00
Kevin Hock
635f2bad90
Continue reading after checking the pushback buffer if more data is requested. Otherwise, once any data if placed in the pushback buffer, no more data will be read from the socket, even if more data is requested.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-14 19:49:19 +00:00
Włodzimierz Skiba
de6185e212
Include wx/utils.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-02 10:39:23 +00:00
Włodzimierz Skiba
670f993563
Include wx/app.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-28 12:44:37 +00:00
Włodzimierz Skiba
d5da0ce7cb
Include wx/event.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-27 12:47:14 +00:00
Włodzimierz Skiba
e4db172a3b
Include wx/log.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-26 08:21:31 +00:00
Włodzimierz Skiba
88a7a4e10e
Include wx/intl.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-25 14:38:19 +00:00
Włodzimierz Skiba
df91131cb0
Include wx/string.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-24 08:46:59 +00:00
Włodzimierz Skiba
8e3f3880bc
Include wx/object.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-19 10:02:20 +00:00
Kevin Hock
3c57bda545
Fix GetTraits() check for event loop in wxSocketBase::_Wait() [ bug 1460607 ] [ patch by Angel / elkry ]
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-30 15:29:22 +00:00
Włodzimierz Skiba
7fb0a11d3a
Unconditional assert means fail.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-22 17:55:05 +00:00
Kevin Hock
30bbf68d3a
Make SetLocal actually work instead of crashing immediately; due to required longevity of the item to make it from SetLocal to Connect, we need to use a specifc address type.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-28 02:04:29 +00:00
Julian Smart
f01bca89fd
Applied patch [ 1431955 ] Fixes wxSocket* _Wait/Select
...
From Angel Vidal Veiga
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-16 08:53:35 +00:00