ObjFW  History of src/OFTCPSocket.m of a5aed6da301f09f8

History of the file that is called src/OFTCPSocket.m at check-in a5aed6da301f09f8

2024-04-29
21:42
[21bc19a6d7] part of check-in [f16bccc7b3] Properly hide private symbols (check-in: [f16bccc7b3] user: js, branch: trunk, size: 11359) [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
[80e19ef290] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 11347) [annotate] [blame] [check-ins using] [diff]
2024-04-01
15:59
[28180f5555] part of check-in [cf0effe834] Remove #define __NO_EXT_QNX

It doesn't seem to be needed anymore. (check-in: [cf0effe834] user: js, branch: trunk, size: 11139) [annotate] [blame] [check-ins using] [diff]

2024-01-02
17:17
[763f8308b6] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 11160) [annotate] [blame] [check-ins using] [diff]
2023-05-21
11:04
[dd3ca66b7b] part of check-in [fc161d1948] OFTCPSocket: Return socket address bound to (check-in: [fc161d1948] user: js, branch: trunk, size: 11160) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[ca83e5e9ab] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 11397) [annotate] [blame] [check-ins using] [diff]
2022-12-27
13:58
[028c779a0b] part of check-in [29a41e5a78] Rename OFAlready{Connected -> Open}Exception (check-in: [29a41e5a78] user: js, branch: trunk, size: 11397) [annotate] [blame] [check-ins using] [diff]
2022-11-06
20:36
[bab73573da] part of check-in [24ff63b586] Rename OFIPSocketAsyncConnector (check-in: [24ff63b586] user: js, branch: trunk, size: 11412) [annotate] [blame] [check-ins using] [diff]
2022-10-22
18:51
[246d2d6fc1] part of check-in [64fc4f6344] Fix overlooked OFSocketAddress(Set)Port (check-in: [64fc4f6344] user: js, branch: trunk, size: 11412) [annotate] [blame] [check-ins using] [diff]
18:41
[74ced9f7d1] part of check-in [a54730b88f] OFSocket: Don't combine port for IP and IPX

While it works for those two protocols, it's a bad precedent as other
protocols have different types for ports. (check-in: [a54730b88f] user: js, branch: trunk, size: 11410) [annotate] [blame] [check-ins using] [diff]

16:00
[e6378dfef4] part of check-in [72db6b3c6f] Split OFBindSocketFailedException into subclasses (check-in: [72db6b3c6f] user: js, branch: trunk, size: 11408) [annotate] [blame] [check-ins using] [diff]
15:07
[f494d07225] part of check-in [35b565d369] Rename OFBind{ -> Socket}FailedException (check-in: [35b565d369] user: js, branch: trunk, size: 11396) [annotate] [blame] [check-ins using] [diff]
2022-10-17
23:27
[3962a70e27] part of check-in [d92d094980] Document more exceptions (check-in: [d92d094980] user: js, branch: trunk, size: 11349) [annotate] [blame] [check-ins using] [diff]
2022-08-06
21:38
[922c01af3e] part of check-in [26f1bac7a1] OFTCPSocket: Fix missing cast (check-in: [26f1bac7a1] user: js, branch: trunk, size: 11561) [annotate] [blame] [check-ins using] [diff]
21:14
[8b6de7a0f6] part of check-in [25adea9a23] Don't use struct sockaddr in OFSocketAddress

struct sockaddr can contain a variable length array, which breaks the
union. (check-in: [25adea9a23] user: js, branch: trunk, size: 11535) [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
[06bb1cad5c] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 11510) [annotate] [blame] [check-ins using] [diff]
2021-11-13
13:04
[cfa63a9a83] part of check-in [d30efa8bbf] Completely rework the TLS/SSL API

The previous API could never work cleanly and would always require
hacks, as it needed intercepting all interactions of OFTCPSocket with
the raw socket and did not work at all if the OFTCPSocket had anything
in its read buffer before starting the TLS handshake. This also could
not be fixed easily, as it would have required the object to contain two
read buffers, one for the unencrypted connection and one for the
encrypted connection. There was also no clean way to perform the
handshake in a non-blocking way.

The new API is a lot cleaner and requires none of the hacks, but using
it requires slightly more work. But this is more than made up for by
making a fully asynchronous handshake possible. It uses the concept of a
stream wrapping another stream, meaning the entire connecting part is
being handled by OFTCPSocket and then the connected socket is passed off
to OFTLSStream to wrap it. This also makes for a lot cleaner separation
of concerns. (check-in: [d30efa8bbf] user: js, branch: trunk, size: 11510) [annotate] [blame] [check-ins using] [diff]

2021-04-18
23:18
[d37354390e] part of check-in [4b587c8874] INVALID_SOCKET -> OFInvalidSocketHandle (check-in: [4b587c8874] user: js, branch: new-naming-convention, size: 11549) [annotate] [blame] [check-ins using] [diff]
22:56
[96bf5fcafe] part of check-in [e73c65a849] Rename all symbols marked extern (check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 11458) [annotate] [blame] [check-ins using] [diff]
20:51
[006dac67c6] part of check-in [35de667566] Rename everything in several smaller files (check-in: [35de667566] user: js, branch: new-naming-convention, size: 11484) [annotate] [blame] [check-ins using] [diff]
15:55
[a6175a336c] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 11481) [annotate] [blame] [check-ins using] [diff]
2021-04-17
13:58
[98d3158581] part of check-in [e3c5bb70dd] of_socket_address_t -> OFSocketAddress (check-in: [e3c5bb70dd] user: js, branch: new-naming-convention, size: 11479) [annotate] [blame] [check-ins using] [diff]
03:37
[2ec643758e] part of check-in [b480ef54db] of_run_loop_mode_t -> OFRunLoopMode (check-in: [b480ef54db] user: js, branch: new-naming-convention, size: 11507) [annotate] [blame] [check-ins using] [diff]
03:21
[95d1a09274] part of check-in [c4e0e56fa3] Rename all blocks (check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 11527) [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
[5cdf6dd0d8] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 11541) [annotate] [blame] [check-ins using] [diff]
2021-01-14
02:29
[49e1470816] part of check-in [1833194867] Define _HPUX_ALT_XOPEN_SOCKET_API where necessary

There is a nasty bug in HP-UX: When using the proper socket APIs that
take a socklen_t (which is 64 bit in LP64 mode), it still calls into
methods that expect an int - so there is a type mismatch between the
headers and the compiled system libraries. This leads to all socklen_t
being interpreted as 0 (due to big endian). Defining
_HPUX_ALT_XOPEN_SOCKET_API makes it use the correct symbols in the
system libraries instead. (check-in: [1833194867] user: js, branch: trunk, size: 11571) [annotate] [blame] [check-ins using] [diff]

2021-01-13
23:01
[7803db3fba] part of check-in [430d54e2a9] Wrap _XOPEN_SOURCE_EXTENDED define in #ifndef (check-in: [430d54e2a9] user: js, branch: trunk, size: 11536) [annotate] [blame] [check-ins using] [diff]
19:16
[6b56ccc343] part of check-in [d55b73f38e] Define _XOPEN_SOURCE_EXTENDED where necessary (check-in: [d55b73f38e] user: js, branch: trunk, size: 11497) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:06
[c51648b5b4] part of check-in [27b401c7c2] Update copyright (check-in: [27b401c7c2] user: js, branch: amiga-library, size: 11405) [annotate] [blame] [check-ins using] [diff]
22:04
[d1c99c42fa] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 11466) [annotate] [blame] [check-ins using] [diff]
2021-01-01
22:19
[c69f54d1cd] part of check-in [d1bd191ac7] Workaround for binding to port 0 on HP-UX (check-in: [d1bd191ac7] user: js, branch: trunk, size: 11555) [annotate] [blame] [check-ins using] [diff]
2020-05-06
00:32
[dc32b6d4c9] part of check-in [bc67e98833] Improve names of several properties (check-in: [bc67e98833] user: js, branch: trunk, size: 11494) [annotate] [blame] [check-ins using] [diff]
2020-05-05
01:14
[243bdb7d8b] part of check-in [4592b16fab] Add OFSCTPSocket (check-in: [4592b16fab] user: js, branch: trunk, size: 11432) [annotate] [blame] [check-ins using] [diff]
00:36
[9be04ec18b] part of check-in [0d6380c626] OFTCPSocket: Move out async connecting (check-in: [0d6380c626] user: js, branch: trunk, size: 11469) [annotate] [blame] [check-ins using] [diff]
00:06
[4f94254b4b] part of check-in [b5cd23da2b] OFTCPSocket: Move out SOCKS5 handling (check-in: [b5cd23da2b] user: js, branch: trunk, size: 17531) [annotate] [blame] [check-ins using] [diff]
2020-05-03
12:14
[48edda05b6] part of check-in [310fd74f89] OFDatagramSocket: Add broadcastAllowed property (check-in: [310fd74f89] user: js, branch: trunk, size: 22716) [annotate] [blame] [check-ins using] [diff]
2020-05-01
13:58
[aa9ac8bab1] part of check-in [39cdae41f8] Fix GCC 4.6 and AmigaOS build (check-in: [39cdae41f8] user: js, branch: trunk, size: 22716) [annotate] [blame] [check-ins using] [diff]
2020-04-29
23:59
[ef285e844b] part of check-in [857f8edc09] Add OFSPXSocket (check-in: [857f8edc09] user: js, branch: trunk, size: 22624) [annotate] [blame] [check-ins using] [diff]
2020-04-26
19:39
[36820b9499] part of check-in [d7ddb3dbc7] Remove redundant arguments from blocks

Arguments that can just be captured by the block don't need to be
repeated as an argument. A lot of arguments passed to a delegate are
therefore not needed for a block. (check-in: [d7ddb3dbc7] user: js, branch: trunk, size: 22984) [annotate] [blame] [check-ins using] [diff]

18:10
[bb1a762052] part of check-in [13a8f43898] Move accept and listen OF{TCP -> Stream}Socket (check-in: [13a8f43898] user: js, branch: trunk, size: 22993) [annotate] [blame] [check-ins using] [diff]
16:21
[e938092c44] part of check-in [e5b2ee56ff] Add OFSequencedPacketSocket

This is intended for SCTP and SPX. (check-in: [e5b2ee56ff] user: js, branch: trunk, size: 26569) [annotate] [blame] [check-ins using] [diff]

2020-04-24
00:21
[120137b646] part of check-in [3dfe642dd3] Add OFIPStreamSocket

This is a new superclass for OFTCPSocket to allow sharing code with
other IP stream socket types, namely SCTP. (check-in: [3dfe642dd3] user: js, branch: trunk, size: 3771) [annotate] [blame] [check-ins using] [diff]

2020-01-07
20:28
[6288b956d6] part of check-in [24eff635db] OFKernelEventObserver: Remove queueing of actions

This removes the ability to let a thread add or remove objects for
another thread. This features wasn't used at all, but caused significant
problems with kqueue and epoll, as this often resulted in removing a
file descriptor after it had already been closed. (check-in: [24eff635db] user: js, branch: trunk, size: 26610) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[e3f56ac740] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 26027) [annotate] [blame] [check-ins using] [diff]
2019-10-07
20:32
[5389356633] part of check-in [e3c911c7f5] Split OFDNSResolverDelegate into two delegates

These are different enough that it makes no sense to have them in one.
Having them in one means all methods are @optional and typos cannot be
caught by the compiler. (check-in: [e3c911c7f5] user: js, branch: trunk, size: 26024) [annotate] [blame] [check-ins using] [diff]

00:07
[21a88b2103] part of check-in [ee592cf603] OFDNSResolver: Major refactor

This temporarily doesn't use the search domains anymore and makes CNAMEs
slightly more inefficient. The next commits will fix both. (check-in: [ee592cf603] user: js, branch: trunk, size: 26020) [annotate] [blame] [check-ins using] [diff]

2019-08-09
23:44
[f42e23d703] part of check-in [3dec8ecf2e] Support sockets on AmigaOS 3 (check-in: [3dec8ecf2e] user: js, branch: trunk, size: 26064) [annotate] [blame] [check-ins using] [diff]
2019-06-26
18:26
[39c02808e8] part of check-in [f6b58b80a8] Use EOPNOTSUPP for SOCKS5 error code 7 (check-in: [f6b58b80a8] user: js, branch: trunk, size: 26051) [annotate] [blame] [check-ins using] [diff]
2019-06-17
02:33
[bfc7e59ebf] part of check-in [17d57e01ff] Remove underscores from class names (check-in: [17d57e01ff] user: js, branch: trunk, size: 26048) [annotate] [blame] [check-ins using] [diff]
2019-05-05
23:02
[34fdf0c261] part of check-in [366ce5073a] OFTCPSocket: Work around missing EPROTO

This is required for MorphOS. (check-in: [366ce5073a] user: js, branch: trunk, size: 26056) [annotate] [blame] [check-ins using] [diff]

2019-04-14
15:40
[76ca7c36c5] part of check-in [dfd61e781e] Use more const (check-in: [dfd61e781e] user: js, branch: trunk, size: 26023) [annotate] [blame] [check-ins using] [diff]
2019-03-19
22:23
[8d03fd4bac] part of check-in [7d78a2b675] OFTCPSocket: Properly close socket on error (check-in: [7d78a2b675] user: js, branch: trunk, size: 26012) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[e57d0397dd] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 25992) [annotate] [blame] [check-ins using] [diff]
2019-01-07
22:59
[909cd558d8] part of check-in [ab89c47f42] Partially fix sockets on Nintendo 3DS/Wii

This does not fully fix it yet, but at least the socket tests in the
test suite pass on 3DS now. (check-in: [ab89c47f42] user: js, branch: trunk, size: 26095) [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
[94bf69c96d] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 25450) [annotate] [blame] [check-ins using] [diff]
2018-12-22
00:29
[b5ab8aeaeb] part of check-in [0afb04d93c] OFDNSResolver: Use a delegate for async operations

Because there is usually only one resolver per thread, having the
delegate as a property on the resolver would not work. It is therefore
passed as an argument.

This only changes the public API so far. Internally, the old target /
selector / context pattern is still being used. This will be changed
later. (check-in: [0afb04d93c] user: js, branch: trunk, size: 25444) [annotate] [blame] [check-ins using] [diff]

2018-12-18
17:10
[9927726f3b] part of check-in [3501205f07] Slightly decrease binary size (check-in: [3501205f07] user: js, branch: trunk, size: 25794) [annotate] [blame] [check-ins using] [diff]
14:14
[d516c427cd] part of check-in [f218986f51] Use OFData instead of a buffer for async writes

This avoids the entire problem of keeping the buffer alive until the
write finished. (check-in: [f218986f51] user: js, branch: trunk, size: 25724) [annotate] [blame] [check-ins using] [diff]

2018-12-11
22:57
[dd4630f033] part of check-in [064dbe5127] Include an exception in delegate methods

Otherwise, there would be two methods for every operation: One for
success and one for failure. It also makes it easy to forget about
handling failure, so it's better to always pass an optional exception. (check-in: [064dbe5127] user: js, branch: trunk, size: 25706) [annotate] [blame] [check-ins using] [diff]

2018-12-08
18:55
[349339a041] part of check-in [da2dd2dde5] OFUDPSocket: Use a delegate for async operations (check-in: [da2dd2dde5] user: js, branch: trunk, size: 26067) [annotate] [blame] [check-ins using] [diff]
16:53
[855c7eb790] part of check-in [2b6a12065e] Separate error methods for async method delegates (check-in: [2b6a12065e] user: js, branch: trunk, size: 26190) [annotate] [blame] [check-ins using] [diff]
16:05
[8cf85678b9] part of check-in [27153bf8cf] OFTCPSocket: Use a delegate for async operations (check-in: [27153bf8cf] user: js, branch: trunk, size: 25944) [annotate] [blame] [check-ins using] [diff]
2018-12-07
01:33
[df6639e5af] part of check-in [d16ad96cbd] OFStream: Use a delegate for async operations

The target / selector approach had several drawbacks:

* It was inconvenient to use, as for every read or write, a target,
selector and context would need to be specified.
* It lacked any kind of type-safety and would not even warn about using
a callback method with the wrong number of parameters.
* It encouraged using a different callback method for each read or
write call, which results in code that is hard to follow and also
slower (as it needs to recreate the async operation with a new
callback every time). (check-in: [d16ad96cbd] user: js, branch: trunk, size: 26324) [annotate] [blame] [check-ins using] [diff]

2018-10-27
21:14
[44b284db49] part of check-in [0036c4c22e] Fix compilation with newer MinGW-w64 versions (check-in: [0036c4c22e] user: js, branch: trunk, size: 28466) [annotate] [blame] [check-ins using] [diff]
2018-10-07
02:06
[0378e7d3f9] part of check-in [6e9ee122eb] Remove resolver.m

Instead, OFDNSResolver is used for everything now. (check-in: [6e9ee122eb] user: js, branch: trunk, size: 28448) [annotate] [blame] [check-ins using] [diff]

2018-10-06
20:21
[2642e89679] part of check-in [22700e6082] OFDNSResolver: Add sync resolve socket addresses (check-in: [22700e6082] user: js, branch: trunk, size: 28516) [annotate] [blame] [check-ins using] [diff]
19:41
[8eaed27d7d] part of check-in [02073abe82] OFTCPSocket: -[setBlocking:] on new connections (check-in: [02073abe82] user: js, branch: trunk, size: 28556) [annotate] [blame] [check-ins using] [diff]
19:36
[b569f752f9] part of check-in [c5c4d38220] OFTCPSocket: Implement sync connect via async (check-in: [c5c4d38220] user: js, branch: trunk, size: 28500) [annotate] [blame] [check-ins using] [diff]
18:24
[1071039b7f] part of check-in [29e9a4c868] OFTCPSocket: Allow specifying the run loop mode (check-in: [29e9a4c868] user: js, branch: trunk, size: 28913) [annotate] [blame] [check-ins using] [diff]
2018-09-24
00:13
[6cee403849] part of check-in [3fb96dff3c] OFRunLoop: Add support for modes (check-in: [3fb96dff3c] user: js, branch: trunk, size: 26786) [annotate] [blame] [check-ins using] [diff]
2018-09-23
15:19
[1abea7673b] part of check-in [228ac2af9b] OFTCPSocket: SOCKS5 support for async connect (check-in: [228ac2af9b] user: js, branch: trunk, size: 26628) [annotate] [blame] [check-ins using] [diff]
2018-09-16
12:49
[e3252f358c] part of check-in [6638379972] OFTCPSocket: Async connect without threads (check-in: [6638379972] user: js, branch: trunk, size: 19110) [annotate] [blame] [check-ins using] [diff]
2018-08-26
18:39
[3cac08541a] part of check-in [bed2db0fd3] Fix compilation for Wii

This pretends that net_getsockopt() exists, which it does not yet. As
soon as it lands in libogc, this will work again. (check-in: [bed2db0fd3] user: js, branch: trunk, size: 16854) [annotate] [blame] [check-ins using] [diff]

12:46
[aaa2b87b7c] part of check-in [1e79c0a969] Initial support for async connect without threads (check-in: [1e79c0a969] user: js, branch: trunk, size: 16831) [annotate] [blame] [check-ins using] [diff]
2018-08-11
21:53
[b15819e802] part of check-in [9a494f183b] Fix build on 3DS and Wii (check-in: [9a494f183b] user: js, branch: trunk, size: 15469) [annotate] [blame] [check-ins using] [diff]
14:00
[a77bbf08e1] part of check-in [8f810ecb7e] Change the layout of of_socket_address_t

Instead of containing a struct sockaddr_storage - which does not exist
on all supported platforms - it now contains a union of all struct
sockaddr_* types.

Additionally, if struct sockaddr_in6 does not exist, it is defined so
that an IPv6 can be stored even if the system does not support IPv6. (check-in: [8f810ecb7e] user: js, branch: trunk, size: 15412) [annotate] [blame] [check-ins using] [diff]

2018-08-05
20:00
[e5ab8ac35c] part of check-in [4f49f55859] Add a few missing casts (check-in: [4f49f55859] user: js, branch: trunk, size: 15544) [annotate] [blame] [check-ins using] [diff]
2018-08-04
16:23
[61b4b17037] part of check-in [7de9d67be9] Support for non-blocking UDP sockets (check-in: [7de9d67be9] user: js, branch: trunk, size: 15533) [annotate] [blame] [check-ins using] [diff]
15:35
[9f8d11c4a6] part of check-in [e36455441d] Use OF_HAVE_IPV6 instead of HAVE_IPV6

This has always been wrong. (check-in: [e36455441d] user: js, branch: trunk, size: 15491) [annotate] [blame] [check-ins using] [diff]

2018-07-28
20:21
[7dca3c8c74] part of check-in [8aeee6680a] Add of_socket_address_ip_string()

This replaces of_address_to_string_and_port(). (check-in: [8aeee6680a] user: js, branch: trunk, size: 15482) [annotate] [blame] [check-ins using] [diff]

2018-06-24
22:08
[596449d526] part of check-in [3cd89fa8ba] Rename -[listenWith{BackLog -> Backlog}:] (check-in: [3cd89fa8ba] user: js, branch: trunk, size: 15243) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[cc02b954ab] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 15243) [annotate] [blame] [check-ins using] [diff]
2017-10-22
15:05
[88cbad652d] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 15220) [annotate] [blame] [check-ins using] [diff]
14:09
[51b517e269] part of check-in [31c0f5b89e] Make Apple GCC with -Wshadow happy (check-in: [31c0f5b89e] user: js, branch: 0.90, size: 14890) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[f8b1b83a89] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 15232) [annotate] [blame] [check-ins using] [diff]

2017-09-28
23:02
[736afef818] part of check-in [2de9660312] Enable -Wnullable-to-nonnull-conversion and adjust (check-in: [2de9660312] user: js, branch: trunk, size: 15134) [annotate] [blame] [check-ins using] [diff]
2017-09-24
11:24
[bfcab86676] part of check-in [f8498bb114] Change type for async exceptions to id (check-in: [f8498bb114] user: js, branch: trunk, size: 15098) [annotate] [blame] [check-ins using] [diff]
2017-09-23
22:07
[e7861c7baa] part of check-in [958da109d3] Support for passing a context to async IO handlers (check-in: [958da109d3] user: js, branch: trunk, size: 15140) [annotate] [blame] [check-ins using] [diff]
17:19
[9870a76e72] part of check-in [ffadc58627] OFTCPSocket: Retain exception for async connect (check-in: [ffadc58627] user: js, branch: trunk, size: 14898) [annotate] [blame] [check-ins using] [diff]
2017-05-22
23:31
[56b097e84a] part of check-in [1287e77e04] Make includes of unistd.h and fcntl.h conditional (check-in: [1287e77e04] user: js, branch: trunk, size: 14889) [annotate] [blame] [check-ins using] [diff]
2017-05-21
23:57
[16f6a959b9] part of check-in [b4cd87cd81] Use closesocket() instead of close()

Previously, socket_helpers.h would just define close() to whatever is
needed to close a socket. However, this makes it possible to
accidentally call a socket-specific close on something that is not a
socket. Having to explicitly call closesocket() (and defining it to
close() on platforms where it's the same) prevents this. (check-in: [b4cd87cd81] user: js, branch: trunk, size: 14861) [annotate] [blame] [check-ins using] [diff]

21:28
[b98f01fc09] part of check-in [6b77a5dd8b] Prefix private methods with of_ instead of OF_

This matches Apple's style. (check-in: [6b77a5dd8b] user: js, branch: trunk, size: 14831) [annotate] [blame] [check-ins using] [diff]

2017-05-13
22:38
[379b9f377d] part of check-in [504e13cf00] Reduce retain + autorelease (check-in: [504e13cf00] user: js, branch: trunk, size: 14831) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[c7187f1cc0] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 14852) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[f234be8d33] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 14820) [annotate] [blame] [check-ins using] [diff]

2016-06-07
22:56
[2735f938b2] part of check-in [1de551cb5f] Add support for reusing OFStreams after close

Right now, this is only useful for OFTCPSocket, as this is the only
class so far not establishing the stream in the init method. However,
this adds the general infrastructure to allow reuse to all subclasses of
OFStream. (check-in: [1de551cb5f] user: js, branch: trunk, size: 14814) [annotate] [blame] [check-ins using] [diff]

2016-05-28
11:37
[15a3d3213a] part of check-in [e53a4fd61c] Add a reference to OFStdIOStream_Win32Console

This is required for static linking, as otherwise
+[OFStdIOStream_Win32Console load] will not be called. (check-in: [e53a4fd61c] user: js, branch: trunk, size: 14825) [annotate] [blame] [check-ins using] [diff]

2016-05-06
20:54
[373ad5cf82] part of check-in [e840997cc8] Make GCC happy with -Wsign-compare (check-in: [e840997cc8] user: js, branch: trunk, size: 14825) [annotate] [blame] [check-ins using] [diff]
2016-03-27
23:10
[f48a1756ef] part of check-in [12b8a7552e] Add socket support for Nintendo 3DS

This removes the port registry that existed for the Wii and instead
tries binding to random ports in a loop until it succeeds or errno is
not EADDRINUSE. This is done for the Wii and Nintendo 3DS now.

This also includes several other socket-related cleanups. (check-in: [12b8a7552e] user: js, branch: trunk, size: 14809) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
[73559345eb] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 14131) [annotate] [blame] [check-ins using] [diff]

00:41
[ccb8fac7b9] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 14433) [annotate] [blame] [check-ins using] [diff]

2015-11-29
11:43
[0119b6524b] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 14429) [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
[7248d669cd] part of check-in [1ba08eebc5] Add platform.h & make platform defines consistent (check-in: [1ba08eebc5] user: js, branch: trunk, size: 14643) [annotate] [blame] [check-ins using] [diff]
2015-10-17
10:59
[a3e1049524] part of check-in [ed4549ddd3] Add a port registry for the Wii

This is necessary as the Wii does not allow picking a random free port,
and thus we need to track which ports are used. (check-in: [ed4549ddd3] user: js, branch: trunk, size: 14655) [annotate] [blame] [check-ins using] [diff]

2015-09-06
15:48
[76989391ef] part of check-in [d0eab356ce] Fix compilation for Wii (check-in: [d0eab356ce] user: js, branch: trunk, size: 14127) [annotate] [blame] [check-ins using] [diff]
2015-05-14
09:58
[85280ea39a] part of check-in [b37fdafac1] Clean up a few file and socket related checks (check-in: [b37fdafac1] user: js, branch: trunk, size: 13907) [annotate] [blame] [check-ins using] [diff]
2015-05-06
20:18
[12ce6e353d] part of check-in [ff759684e2] OFNotConnectedException -> OFNotOpenException (check-in: [ff759684e2] user: js, branch: trunk, size: 13887) [annotate] [blame] [check-ins using] [diff]
2015-05-03
10:16
[43965236bf] part of check-in [12fbe85aab] OFTCPSocket: Add -[setTCPNoDelayEnabled:]

This also adds -[isTCPNoDelayEnabled] and -[isKeepAliveEnabled],
together with OFGetOptionFailedException to indiciate failure to
retrieve the current value of the option. (check-in: [12fbe85aab] user: js, branch: trunk, size: 13902) [annotate] [blame] [check-ins using] [diff]

2015-02-18
22:56
[421ec8b16e] part of check-in [f18615e057] Add of_getsockname() and make use of it

of_getsockname() calls getsockname() after acquiring a mutex. This is
necessary as some implementations of getsockname() are not thread-safe. (check-in: [f18615e057] user: js, branch: trunk, size: 13027) [annotate] [blame] [check-ins using] [diff]

2015-02-16
08:39
[f120fb3aeb] part of check-in [62e2de30b9] Explicitly pass errno to exceptions

The old behaviour where the exception would access errno directly on
creation of the exception was very fragile. The two main problems with
it were that sometimes it would pick up an errno even though none had
been set and in other cases that when the exception was created errno
had already been overridden.

This also greatly increases errno handling on Win32, especially in
conjunction with sockets. It can still be improved further, though. (check-in: [62e2de30b9] user: js, branch: trunk, size: 12995) [annotate] [blame] [check-ins using] [diff]

2015-01-17
18:39
[a985ec70c8] part of check-in [8b0caeabde] Fix compilation on Win32 (check-in: [8b0caeabde] user: js, branch: trunk, size: 12592) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[a7dff28cc4] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 12296) [annotate] [blame] [check-ins using] [diff]
2014-12-13
16:52
[c059520ca3] part of check-in [06d2de4571] Use CLOEXEC for files and sockets (check-in: [06d2de4571] user: js, branch: trunk, size: 12290) [annotate] [blame] [check-ins using] [diff]
2014-08-18
10:53
[e59925afa4] part of check-in [c6a4b0a95f] OFTCPSocket: Clear read buffer for new connection

This prevents reading old data when closing and reconnecting the socket. (check-in: [c6a4b0a95f] user: js, branch: trunk, size: 11203) [annotate] [blame] [check-ins using] [diff]

2014-06-21
21:43
[dc50295dfd] part of check-in [13ee56edf3] Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 11063) [annotate] [blame] [check-ins using] [diff]

2014-02-21
17:17
[3b9e3e0a34] part of check-in [3fa37632f9] Cast return of sizeof() to socklen_t

It caused a warning about an implicit cast on OS X/PPC64. (check-in: [3fa37632f9] user: js, branch: trunk, size: 11106) [annotate] [blame] [check-ins using] [diff]

2014-02-18
00:22
[2de1fb049a] part of check-in [f9d12201f8] Move around a few defines to be more consistent (check-in: [f9d12201f8] user: js, branch: trunk, size: 11057) [annotate] [blame] [check-ins using] [diff]
2014-02-12
03:17
[96ae0860b7] part of check-in [fab07a40ca] Fix compilation with mingw32 (check-in: [fab07a40ca] user: js, branch: trunk, size: 11057) [annotate] [blame] [check-ins using] [diff]
2014-01-30
22:02
[2d27dcba2c] part of check-in [ff3c507941] OFUDPSocket: Add async resolve / receive (check-in: [ff3c507941] user: js, branch: trunk, size: 11085) [annotate] [blame] [check-ins using] [diff]
12:26
[0b9ade0423] part of check-in [7908c035e4] Rename of_tcpsocket* -> of_tcp_socket_* (check-in: [7908c035e4] user: js, branch: trunk, size: 11143) [annotate] [blame] [check-ins using] [diff]
12:26
[fb3f587e28] part of check-in [fb590316ba] Rename +[UDPSocket hostForAddress:port:]

It is now called +[getHost:andPort:forAddress:]. This makes it much
clearer from the selector alone what it actually does. (check-in: [fb590316ba] user: js, branch: trunk, size: 11138) [annotate] [blame] [check-ins using] [diff]

2014-01-27
12:34
[f24c3b3ba4] part of check-in [44c595058b] of_address_to_string: Add a way to get the port (check-in: [44c595058b] user: js, branch: trunk, size: 11108) [annotate] [blame] [check-ins using] [diff]
2014-01-26
22:38
[4b99095be9] part of check-in [49b1989b63] Move resolving functionality to resolver.m

This is in preparation for UDP sockets, so that they can share the
resolving functionality with TCP sockets. (check-in: [49b1989b63] user: js, branch: trunk, size: 11085) [annotate] [blame] [check-ins using] [diff]

13:32
[3aa4076627] part of check-in [32ad39007a] Include unistd.h in socket_helpers.h (check-in: [32ad39007a] user: js, branch: trunk, size: 15837) [annotate] [blame] [check-ins using] [diff]
2014-01-25
19:33
[f0c5480103] part of check-in [81d47f4398] Move socket includes and helpers to separate files

The new file socket.h includes all headers required for sockets on the
used platform, while the file socket_helpers.h defines the BSD API
functions to the platform specific functions if necessary.

This cleans up the classes dealing with sockets a lot and also reduces
code duplication. (check-in: [81d47f4398] user: js, branch: trunk, size: 15858) [annotate] [blame] [check-ins using] [diff]

2014-01-16
23:38
[367b0cdd47] part of check-in [e54c8c0368] Add +[OFString nativeOSEncoding].

This replaces OF_STRING_ENCODING_NATIVE, as a define was not flexible
enough (determining the native OS encoding at startup was not possible). (check-in: [e54c8c0368] user: js, branch: trunk, size: 17417) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[5e012e3410] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 17735) [annotate] [blame] [check-ins using] [diff]
2013-08-15
19:00
[bc0a6e3581] part of check-in [1d7a1cbca0] Move private methods into private headers. (check-in: [1d7a1cbca0] user: js, branch: trunk, size: 17729) [annotate] [blame] [check-ins using] [diff]
2013-06-26
17:18
[68c36aac7d] part of check-in [530decab01] Revive the PSP port. (check-in: [530decab01] user: js, branch: trunk, size: 17699) [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
[3305aefb9e] part of check-in [3d16a30f41] Rework exceptions.

This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.

This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. (check-in: [3d16a30f41] user: js, branch: trunk, size: 17438) [annotate] [blame] [check-ins using] [diff]

2013-06-17
08:54
[b00741c4c9] part of check-in [dc17a614e8] Replace a few asserts with OF_ENSURE / OBJC_ERROR. (check-in: [dc17a614e8] user: js, branch: trunk, size: 18130) [annotate] [blame] [check-ins using] [diff]
2013-06-13
02:03
[17c2cc5542] part of check-in [ca113e0145] Don't bind to port 0 on the Wii.

Instead, a decreasing variable is used now. This should be safe, as
nothing else should be binding ports while homebrew code is running. The
only problem that could arise is when code manually binds to very high
port numbers.

This also solves the problem that getsockname() is not available on the
Wii, as we know the port now anyway.

And while we're at it, this also adds struct sockaddr_storage. (check-in: [ca113e0145] user: js, branch: trunk, size: 18148) [annotate] [blame] [check-ins using] [diff]

01:59
[73d0c39dd0] part of check-in [8faa16f249] Try inet_addr() before gethostbyname().

gethostbyname() is not required to accept an IP address and does not do
so on the Wii. (check-in: [8faa16f249] user: js, branch: trunk, size: 17988) [annotate] [blame] [check-ins using] [diff]

2013-06-11
23:33
[4800955ec9] part of check-in [ffb91daffe] Initial sockets support for the Wii.

Not functional yet due to bugs in the SDK.
Bugs found so far:

* Binding to port 0 fails instead of choosing a free port.
* gethostbyname() does not work for IPs.
* getsockname() is missing.
* struct sockaddr_storage is missing.

I have not decided yet whether I fix those bugs in the SDK (I already
implemented getsockname() and added struct sockaddr_stroage and it seems
to work) or if I work around them in ObjFW. This will mainly depend on
how cooperative the developers of the Wii SDK are. (check-in: [ffb91daffe] user: js, branch: trunk, size: 17114) [annotate] [blame] [check-ins using] [diff]

2013-05-22
18:45
[4199e0da2a] part of check-in [d7365be372] Import OFThread.h unconditionally.

It's safe to always import OFThread.h now as OFThread even offers
limited functionality when threads are unavailable. (check-in: [d7365be372] user: js, branch: trunk, size: 16445) [annotate] [blame] [check-ins using] [diff]

18:42
[f93320b4b5] part of check-in [896084c340] Check for more socket-related headers / functions. (check-in: [896084c340] user: js, branch: trunk, size: 16476) [annotate] [blame] [check-ins using] [diff]
2013-04-27
23:14
[2065e219ce] part of check-in [9d3f4208d6] OFTCPSocket: Define _WIN32_WINNT to 0x0501. (check-in: [9d3f4208d6] user: js, branch: trunk, size: 16360) [annotate] [blame] [check-ins using] [diff]
2013-03-31
10:04
[131468c3e0] part of check-in [b7b67d7119] Improve OFTLSSocket protocol. (check-in: [b7b67d7119] user: js, branch: trunk, size: 16332) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[5920a82404] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 16332) [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
[742dd6ce2f] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 16319) [annotate] [blame] [check-ins using] [diff]
2013-01-28
20:06
[e3f567d132] part of check-in [cdfe025f85] Remove AI_ADDRCONFIG, as it's buggy in glibc. (check-in: [cdfe025f85] user: js, branch: trunk, size: 16158) [annotate] [blame] [check-ins using] [diff]
2013-01-19
01:41
[e79d51f216] part of check-in [a2a48d4d29] Two small fixes.

OFStreamObserver_select: Fix missing include.
OFTCPSocket: Fix missing rename. (check-in: [a2a48d4d29] user: js, branch: trunk, size: 16247) [annotate] [blame] [check-ins using] [diff]

2013-01-13
00:54
[7757bd9475] part of check-in [5c6bc745b5] OFTCPSocket: Define AI_* to 0 if missing. (check-in: [5c6bc745b5] user: js, branch: trunk, size: 16248) [annotate] [blame] [check-ins using] [diff]
2013-01-12
20:53
[5685b5bf99] part of check-in [b8ce2359f3] Clean up the feature #ifdef mess. (check-in: [b8ce2359f3] user: js, branch: trunk, size: 16030) [annotate] [blame] [check-ins using] [diff]
20:21
[e458e43209] part of check-in [85b8efadbc] Fix --disable-threads. (check-in: [85b8efadbc] user: js, branch: trunk, size: 15950) [annotate] [blame] [check-ins using] [diff]
17:29
[4724c73932] part of check-in [9ddd33a258] Rename *UsingEncoding: to *WithEncoding:.

This reverts 5362941.

Even though *UsingEncoding: is what Foundation uses, *WithEncoding: is
more natural and is more consistent with the rest. Also, this means this
restores it to the API of 0.7. (check-in: [9ddd33a258] user: js, branch: trunk, size: 15860) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[26659060bf] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 15864) [annotate] [blame] [check-ins using] [diff]
22:13
[b8a3a39e39] part of check-in [9a9a02555d] OFTCPSocket: Use getnameinfo with NI_NUMERICSERV. (check-in: [9a9a02555d] user: js, branch: trunk, size: 15858) [annotate] [blame] [check-ins using] [diff]
22:10
[b609afae72] part of check-in [541b33d978] OFTCPSocket: Set ai_flags.

For connect(), this sets ai_flags to:
AI_NUMERICSERV | AI_ADDRCONFIG

For bind(), this sets ai_flags to:
AI_NUMERICSERV | AI_ADDRCONFIG | AI_PASSIVE (check-in: [541b33d978] user: js, branch: trunk, size: 15841) [annotate] [blame] [check-ins using] [diff]

2013-01-07
13:36
[fdb5be2048] part of check-in [2965720dbc] Fix compilation on Win32. (check-in: [2965720dbc] user: js, branch: trunk, size: 15728) [annotate] [blame] [check-ins using] [diff]
2012-12-27
11:16
[22a93cdc38] part of check-in [5243a86320] OFTCPSocket: Set SO_REUSEADDR on -[bind]. (check-in: [5243a86320] user: js, branch: trunk, size: 15692) [annotate] [blame] [check-ins using] [diff]
2012-12-15
23:31
[a9ec628526] part of check-in [e2f4c1283c] OFString: Improved API for getting C strings. (check-in: [e2f4c1283c] user: js, branch: trunk, size: 15344) [annotate] [blame] [check-ins using] [diff]
2012-12-13
20:53
[d55696187d] part of check-in [1abe5a111f] Add of_tls_socket_class for 3rd-party TLS libs.

This removes of_http_client_tls_socket_class in favor of having one
symbol for all places where TLS would be desired. (check-in: [1abe5a111f] user: js, branch: trunk, size: 15340) [annotate] [blame] [check-ins using] [diff]

2012-12-11
12:14
[a2d531d058] part of check-in [37e165aaf6] OFTCPSocket: Fix a bug in -[accept]. (check-in: [37e165aaf6] user: js, branch: 0.7, size: 15552) [annotate] [blame] [check-ins using] [diff]
12:12
[41e77c8735] part of check-in [baa6951ec0] OFTCPSocket: Fix a bug in -[accept]. (check-in: [baa6951ec0] user: js, branch: trunk, size: 15306) [annotate] [blame] [check-ins using] [diff]
12:12
[637568184e] part of check-in [d39260c358] OFTCPSocket: Use a backlog of SOMAXCONN. (check-in: [d39260c358] user: js, branch: trunk, size: 15401) [annotate] [blame] [check-ins using] [diff]
2012-10-30
18:50
[bb02552c53] part of check-in [13ea2fc8b1] Async I/O: Pass a context. (check-in: [13ea2fc8b1] user: js, branch: trunk, size: 15886) [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:37
[c453a27f56] part of check-in [d477b270f3] Fix wrong imports. (check-in: [d477b270f3] user: js, branch: trunk, size: 15647) [annotate] [blame] [check-ins using] [diff]
2012-10-22
20:12
[da12c47fdd] part of check-in [c9f2fe558e] Allocate space for sockaddr_storage, not sockaddr. (check-in: [c9f2fe558e] user: js, branch: trunk, size: 15648) [annotate] [blame] [check-ins using] [diff]
2012-10-17
20:16
[29f21ecbe7] part of check-in [6343e04dcd] Pass exceptions on async I/O.

This makes it possible to handle exceptions that occurred during async
I/O in the specified handler. (check-in: [6343e04dcd] user: js, branch: trunk, size: 15674) [annotate] [blame] [check-ins using] [diff]

2012-10-13
21:06
[0f410ad5c9] part of check-in [1cb8fee5c3] of_bswap* -> OF_BSWAP*.

This makes it clear that multiple evaluation of parameters is possible. (check-in: [1cb8fee5c3] user: js, branch: trunk, size: 15495) [annotate] [blame] [check-ins using] [diff]

2012-09-19
23:57
[0e43bc61fd] part of check-in [4f149012e9] Make async connecting possible without blocks. (check-in: [4f149012e9] user: js, branch: trunk, size: 15495) [annotate] [blame] [check-ins using] [diff]
23:02
[b7640aefbf] part of check-in [4d9a641d87] Make async I/O possible without blocks.

Async connecting is still missing. (check-in: [4d9a641d87] user: js, branch: trunk, size: 13089) [annotate] [blame] [check-ins using] [diff]

2012-09-17
06:58
[2a9dc1d700] part of check-in [be7d619b6e] Pass the timer as argument in timer blocks. (check-in: [be7d619b6e] user: js, branch: trunk, size: 12915) [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:27
[5b45773966] part of check-in [c137da5e5b] Prefix all private methods with OF_. (check-in: [c137da5e5b] user: js, branch: trunk, size: 12897) [annotate] [blame] [check-ins using] [diff]
11:45
[4e402532d5] part of check-in [5a19a8a2a5] Fix missing imports. (check-in: [5a19a8a2a5] user: js, branch: trunk, size: 12896) [annotate] [blame] [check-ins using] [diff]
10:19
[23c0b57231] part of check-in [5d8349a8f6] Add -[OFTCPSocket asyncAcceptWithBlock:]. (check-in: [5d8349a8f6] user: js, branch: trunk, size: 12869) [annotate] [blame] [check-ins using] [diff]
2012-09-15
12:22
[d1ec2a4710] part of check-in [3b68656e8d] OFTCPSocket: Implement async connecting. (check-in: [3b68656e8d] user: js, branch: trunk, size: 12697) [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
[f2b49c30d2] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 11899) [annotate] [blame] [check-ins using] [diff]
2012-03-21
17:51
[43ccdbbf0d] part of check-in [3a983475bc] Always pass a char for copy to objc_setProperty(). (check-in: [3a983475bc] user: js, branch: trunk, size: 11662) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[34d16710ab] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 11664) [annotate] [blame] [check-ins using] [diff]
2011-12-08
02:25
[59c9f9facb] part of check-in [a3b3333128] Make it possible to set a default SOCKS5 proxy for all OFTCPSockets.

For example, this is useful if you want to use
+[OFString stringWithContentsOfURL:] with a proxy or if you just want
to use anything that uses an OFTCPSocket with a proxy (even 3rd party
libraries). (check-in: [a3b3333128] user: js, branch: trunk, size: 11658) [annotate] [blame] [check-ins using] [diff]

2011-10-04
18:17
[367a20fe47] part of check-in [48708f2435] Move SOCKS5 support to OFTCPSocket. (check-in: [48708f2435] user: js, branch: trunk, size: 11068) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[6c64c65615] part of check-in [e1e7ffa903] Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. (check-in: [e1e7ffa903] user: js, branch: trunk, size: 10195) [annotate] [blame] [check-ins using] [diff]

2011-09-19
13:07
[37dbaea5b8] part of check-in [b8517c63ca] Rename -[bindToPort:onHost:] to -[bindToHost:port:].
This way it's consistent with -[connectToHost:port].
(check-in: [b8517c63ca] user: js, branch: trunk, size: 10109) [annotate] [blame] [check-ins using] [diff]
12:34
[ad3ac403d1] part of check-in [d43eb177bc] BOOL naming conventions. (check-in: [d43eb177bc] user: js, branch: trunk, size: 10109) [annotate] [blame] [check-ins using] [diff]
2011-09-12
19:57
[0cc2514733] part of check-in [e6fd39d11e] Rename -[cString] to -[UTF8String]. (check-in: [e6fd39d11e] user: js, branch: trunk, size: 10117) [annotate] [blame] [check-ins using] [diff]
2011-07-17
02:08
[1ca1782d51] part of check-in [1688bf89e0] Use sockaddr_storage instead of sockaddr in OFTCPSocket.
This ensures it's big enough and correctly aligned.
(check-in: [1688bf89e0] user: js, branch: 0.5, size: 9802) [annotate] [blame] [check-ins using] [diff]
02:03
[2ff5fb89f7] part of check-in [7a5b65ee4d] Use sockaddr_storage instead of sockaddr in OFTCPSocket.
This ensures it's big enough and correctly aligned.
(check-in: [7a5b65ee4d] user: js, branch: trunk, size: 9855) [annotate] [blame] [check-ins using] [diff]
01:55
[5139608894] part of check-in [59e52af26d] Define __NO_EXT_QNX in files using unistd.h or fcntl.h.

Without this, the headers try to declare functions that use __block as
an argument name and thus fail to compile when using -fblocks. (check-in: [59e52af26d] user: js, branch: 0.5, size: 9753) [annotate] [blame] [check-ins using] [diff]

01:55
[d0efc140d4] part of check-in [da2701ad14] Define __NO_EXT_QNX in files using unistd.h or fcntl.h.

Without this, the headers try to declare functions that use __block as
an argument name and thus fail to compile when using -fblocks. (check-in: [da2701ad14] user: js, branch: trunk, size: 9806) [annotate] [blame] [check-ins using] [diff]

2011-06-05
18:53
[d8e9d867f6] part of check-in [1940d72ec7] Rename -[connetToHost:onPort:] to -[connectToHost:port:]. (check-in: [1940d72ec7] user: js, branch: trunk, size: 9783) [annotate] [blame] [check-ins using] [diff]
2011-04-22
22:46
[9d4c499443] part of check-in [c9c78d86d3] More style improvements. (check-in: [c9c78d86d3] user: js, branch: trunk, size: 9790) [annotate] [blame] [check-ins using] [diff]
21:08
[1ec7691203] part of check-in [fb95acc8ab] More style improvements. (check-in: [fb95acc8ab] user: js, branch: trunk, size: 9730) [annotate] [blame] [check-ins using] [diff]
2011-04-08
07:05
[ea3cfe401f] part of check-in [054a38e82d] Add -[isListening] to OFTCPSocket. (check-in: [054a38e82d] user: js, branch: trunk, size: 9730) [annotate] [blame] [check-ins using] [diff]
2011-04-06
18:30
[1a33b199d0] part of check-in [d776cbf5e2] Move ivar listening to OFTCPSocket.
Also, we don't need these ivars to be @public anymore.
(check-in: [d776cbf5e2] user: js, branch: trunk, size: 9678) [annotate] [blame] [check-ins using] [diff]
2011-04-03
19:16
[5e6306097e] part of check-in [9db7215004] We always need those includes now. (check-in: [9db7215004] user: js, branch: trunk, size: 9661) [annotate] [blame] [check-ins using] [diff]
2011-03-29
23:32
[f6b617258d] part of check-in [48c67b1444] Fix missing include in exceptions/common.h. (check-in: [48c67b1444] user: js, branch: trunk, size: 9708) [annotate] [blame] [check-ins using] [diff]
23:27
[2a0787d82a] part of check-in [6022cfa458] Work around compiler bugs. (check-in: [6022cfa458] user: js, branch: trunk, size: 9684) [annotate] [blame] [check-ins using] [diff]
23:19
[c47e3134d6] part of check-in [d983af3d93] Make it possible to let -[bindToPort:onHost:] choose a port. (check-in: [d983af3d93] user: js, branch: trunk, size: 9703) [annotate] [blame] [check-ins using] [diff]
2011-03-24
21:17
[f3c6437253] part of check-in [7ced2e7b6a] Pass the stream for stream exceptions. (check-in: [7ced2e7b6a] user: js, branch: trunk, size: 8857) [annotate] [blame] [check-ins using] [diff]
20:36
[c2279eed1e] part of check-in [a8df2cff5f] Pass the socket for socket exceptions. (check-in: [a8df2cff5f] user: js, branch: trunk, size: 8836) [annotate] [blame] [check-ins using] [diff]
19:42
[2b016c1ada] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 8616) [annotate] [blame] [check-ins using] [diff]
2011-02-10
17:19
[0ec27b8819] part of check-in [a3e03981ea] Use ports instead of services in OFTCPSocket. (check-in: [a3e03981ea] user: js, branch: trunk, size: 8291) [annotate] [blame] [check-ins using] [diff]
2011-02-09
18:55
[1565c3535f] part of check-in [d230ac577d] Initial PSP port.

Does compile with --disable-threads --disable-shared, but does not link
yet. (check-in: [d230ac577d] user: js, branch: trunk, size: 9686) [annotate] [blame] [check-ins using] [diff]

18:27
[b9305562e5] part of check-in [90893f3cbe] Add two missing includes. (check-in: [90893f3cbe] user: js, branch: trunk, size: 9554) [annotate] [blame] [check-ins using] [diff]
2011-02-01
21:07
[b23751c527] part of check-in [11a9f98b7a] Fix lookup of service when getaddrinfo is unavailable. (check-in: [11a9f98b7a] user: js, branch: trunk, size: 9534) [annotate] [blame] [check-ins using] [diff]
20:53
[7b6a248246] part of check-in [8384ca4273] Rename OF_BSWAP_* to of_bswap_* as they are not really macros. (check-in: [8384ca4273] user: js, branch: trunk, size: 9030) [annotate] [blame] [check-ins using] [diff]
2011-01-22
23:53
[8771225ab8] part of check-in [ca53d41c0f] Autodetect family in -[bindService:onNode:]. (check-in: [ca53d41c0f] user: js, branch: trunk, size: 9030) [annotate] [blame] [check-ins using] [diff]
2011-01-08
15:57
[94deb56f45] part of check-in [1404d33024] Ignore SIGPIPE when using OFStream.

SIGPIPE is quite useless and contraproductive as we throw an
OFWriteFailedException anyway. (check-in: [1404d33024] user: js, branch: trunk, size: 9273) [annotate] [blame] [check-ins using] [diff]

2011-01-01
20:19
[5bed299304] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 9273) [annotate] [blame] [check-ins using] [diff]
2010-12-05
12:32
[df5ecfa5f3] part of check-in [efa6d95aad] Make subclassing OFTCPSocket easier. (check-in: [efa6d95aad] user: js, branch: trunk, size: 9017) [annotate] [blame] [check-ins using] [diff]
2010-10-25
23:03
[fc8eae7a7b] part of check-in [8a7ca573c4] Clean up a lot of code (mostly init methods) and fix a missing rethrow. (check-in: [8a7ca573c4] user: js, branch: trunk, size: 9005) [annotate] [blame] [check-ins using] [diff]
2010-07-07
21:06
[9e5de8c85a] part of check-in [d81629fead] Move most of the code for -[close] to OFStreamSocket. (check-in: [d81629fead] user: js, branch: trunk, size: 9025) [annotate] [blame] [check-ins using] [diff]
2010-06-13
17:44
[57db58ad3d] part of check-in [6a73e7ac51] Fallback to select() in OFSocketObserver if poll() is unavailable. (check-in: [6a73e7ac51] user: js, branch: trunk, size: 9159) [annotate] [blame] [check-ins using] [diff]
12:15
[c2b198d896] part of check-in [4ca583737c] Improve OFSocketObserver API. (check-in: [4ca583737c] user: js, branch: trunk, size: 9098) [annotate] [blame] [check-ins using] [diff]
2010-04-17
22:27
[dd20905993] part of check-in [37db8f0fb3] New ivar naming convention.

ivars are now named like this: thisIsAnIVar. If an accessor exists for
the ivar, the ivar is named like the accessor. This is required for
@property to work. (check-in: [37db8f0fb3] user: js, branch: trunk, size: 9032) [annotate] [blame] [check-ins using] [diff]

15:46
[fe6d461e93] part of check-in [062a052b50] Don't return self where not necessary, return void or something useful. (check-in: [062a052b50] user: js, branch: trunk, size: 9003) [annotate] [blame] [check-ins using] [diff]
2010-04-11
17:55
[0f7c2e2900] part of check-in [04dc76c8c3] Add -[remoteAddress] to OFTCPSocket. (check-in: [04dc76c8c3] user: js, branch: trunk, size: 9119) [annotate] [blame] [check-ins using] [diff]
16:37
[605f8714f2] part of check-in [cecf1d4bf7] Fix manually closing a TCP socket and improve automatic closing. (check-in: [cecf1d4bf7] user: js, branch: trunk, size: 8080) [annotate] [blame] [check-ins using] [diff]
2010-04-02
14:18
[f1cb5070ac] part of check-in [ebf57f4891] Close socket before throwing an exception when bind fails. (check-in: [ebf57f4891] user: js, branch: trunk, size: 8064) [annotate] [blame] [check-ins using] [diff]
2010-03-05
11:52
[709f9ba347] part of check-in [b91a8283fe] Merge a few changesets from the default branch into the 0.2 branch.

Changesets:
* b95fcaa6d694
* 804c68d222b4
* da8cd738da3d
* 1109d5ce3419
* d03f5c1ca95d
* 2a7017722165
* 4fccdc79eeb7
* d228149fbc04
* 8782d412a4a6 (check-in: [b91a8283fe] user: js, branch: 0.2, size: 7813) [annotate] [blame] [check-ins using] [diff]

2010-02-19
16:36
[a1e625fc7a] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 7811) [annotate] [blame] [check-ins using] [diff]
2010-02-02
18:58
[b3b2edf858] part of check-in [832188d759] Rename OFMacros.h to macros.h, as it's not a class. (check-in: [832188d759] user: js, branch: trunk, size: 7811) [annotate] [blame] [check-ins using] [diff]
2010-01-30
14:14
[0a606f2f49] part of check-in [35f59c61c6] Fix missing includes and typos. (check-in: [35f59c61c6] user: js, branch: trunk, size: 7813) [annotate] [blame] [check-ins using] [diff]
13:33
[5ad68e30bb] part of check-in [fe6787bc79] Move some stuff from OFSocket to OFTCPSocket. (check-in: [fe6787bc79] user: js, branch: trunk, size: 7785) [annotate] [blame] [check-ins using] [diff]
2010-01-22
18:40
[e5e0123628] part of check-in [273d5b90f8] Clean up OFStream and OFSocket interface.
This allows better compile-time checks.
(check-in: [273d5b90f8] user: js, branch: trunk, size: 7696) [annotate] [blame] [check-ins using] [diff]
2010-01-16
15:05
[b8414e989f] part of check-in [1433aef0d0] Reduce dependencies between headers. (check-in: [1433aef0d0] user: js, branch: trunk, size: 7693) [annotate] [blame] [check-ins using] [diff]
2009-12-20
23:15
[339b99e114] part of check-in [1d68cfa595] Clean up includes in OFTCPSocket. (check-in: [1d68cfa595] user: js, branch: trunk, size: 7672) [annotate] [blame] [check-ins using] [diff]
2009-12-17
10:53
[d088ca13d0] part of check-in [1f7898f109] Further improve OFTCPSocket.

Only use getaddrinfo() if it's thread-safe - it does not make much
sense to allow getaddrinfo() if it's not thread-safe, as then its
biggest advantage to gethostbyname() is gone.

Also, copy the result from gethostbyname() so we can release the lock
before connecting - this should greatly improve the speed when trying
to connect to multiple hosts without a thread-safe getaddrinfo(). (check-in: [1f7898f109] user: js, branch: trunk, size: 7681) [annotate] [blame] [check-ins using] [diff]

2009-12-11
12:52
[a4d491ccd6] part of check-in [6caac0826e] Make it possible to build ObjFW without support for threads. (check-in: [6caac0826e] user: js, branch: trunk, size: 7906) [annotate] [blame] [check-ins using] [diff]
2009-12-09
19:09
[f13b976cd7] part of check-in [c8398d985d] Check whether getaddrinfo is thread-safe and use locks if not. (check-in: [c8398d985d] user: js, branch: trunk, size: 7199) [annotate] [blame] [check-ins using] [diff]
18:43
[4bb7848f0c] part of check-in [66f6ca045c] Indent defines and imports where it is useful. (check-in: [66f6ca045c] user: js, branch: trunk, size: 6768) [annotate] [blame] [check-ins using] [diff]
2009-12-07
20:12
[f19d63597b] part of check-in [ed366ad8f8] Fix typo. (check-in: [ed366ad8f8] user: js, branch: trunk, size: 6763) [annotate] [blame] [check-ins using] [diff]
2009-11-29
16:23
[00e6aa5037] part of check-in [d57228d9d6] Allow NULL as parameter for -[freeMemory:]. (check-in: [d57228d9d6] user: js, branch: trunk, size: 6761) [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
[37839d79ab] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 6768) [annotate] [blame] [check-ins using] [diff]
2009-08-28
00:33
[5c57ec1e56] part of check-in [30f6c422ad] Add OF_BSWAP{16,32,64}_IF_{BE,LE} for conditional byte swap. (check-in: [30f6c422ad] user: js, branch: trunk, size: 6771) [annotate] [blame] [check-ins using] [diff]
2009-07-19
14:05
[7e7c4b019c] part of check-in [4eae61a78f] Rename andFoo: to foo: in all methods. (check-in: [4eae61a78f] user: js, branch: trunk, size: 6749) [annotate] [blame] [check-ins using] [diff]
2009-06-09
20:44
[44f2d9c515] part of check-in [f847f82b75] Make OFSocket a class cluster. (check-in: [f847f82b75] user: js, branch: trunk, size: 6813) [annotate] [blame] [check-ins using] [diff]
2009-06-01
02:08
[48bd51099f] part of check-in [cca028cedf] Add OFMutex and use it in OFTCPSocket instead of @synchronized. (check-in: [cca028cedf] user: js, branch: trunk, size: 6816) [annotate] [blame] [check-ins using] [diff]
2009-05-29
19:21
[3f2fb0c9c6] part of check-in [033054ad75] A few renames.

OFExceptions:
* OFNoMemException to OFOutOfMemoryException.
* OFMemNotPartOfObjException to OFMemoryNotPartOfObjectException.

OFObject:
* -[addItemToMemoryPool:] to -[addMemoryToPool:].
* -[allocWithSize:] to -[allocMemoryWithSize:].
* -[allocNItems:withSize] to -[allocMemoryForNItems:withSize:].
* -[resizeMem:toSize] to -[resizeMemory:toSize:].
* -[resizeMem:toNItems:withSize:] to
-[resizeMemoryToNItems:withSize:].
* -[freeMem] to -[freeMemory:].

OFString:
* -[urlencode] to -[urlEncodedString].
* -[urldecode] to -[urlDecodedString]. (check-in: [033054ad75] user: js, branch: trunk, size: 6709) [annotate] [blame] [check-ins using] [diff]

09:28
[9070a0d7b2] part of check-in [282aadb9df] Always use [self alloc]. (check-in: [282aadb9df] user: js, branch: trunk, size: 6700) [annotate] [blame] [check-ins using] [diff]
2009-05-24
21:09
[804f167c59] part of check-in [488da685e4] Fall back to gethostbyname + locking if getaddrinfo is missing. (check-in: [488da685e4] user: js, branch: trunk, size: 6853) [annotate] [blame] [check-ins using] [diff]
18:04
[aef6c3578a] part of check-in [94ea6848a8] Always use #include "config.h" instead of #import "config.h". (check-in: [94ea6848a8] user: js, branch: trunk, size: 4074) [annotate] [blame] [check-ins using] [diff]
2009-05-19
17:13
[0f5f259ee4] part of check-in [0b8c5616cb] Rename + tcpSocket to + socket in OFTCPSocket. (check-in: [0b8c5616cb] user: js, branch: trunk, size: 4073) [annotate] [blame] [check-ins using] [diff]
2009-05-15
22:59
[da3f38fa70] part of check-in [4c6d6c56ac] As we memset our ivars to 0, get rid of some useless ivar inits. (check-in: [4c6d6c56ac] user: js, branch: trunk, size: 4079) [annotate] [blame] [check-ins using] [diff]
20:01
[9556eafe3a] part of check-in [67066be692] Use OFString as much as possible. (check-in: [67066be692] user: js, branch: trunk, size: 4095) [annotate] [blame] [check-ins using] [diff]
2009-05-13
20:31
[713f66fbf8] part of check-in [9e6dd00ef5] Rename - free to - (void)dealloc. (check-in: [9e6dd00ef5] user: js, branch: trunk, size: 4262) [annotate] [blame] [check-ins using] [diff]
2009-05-07
16:08
[6d74cb7c82] part of check-in [0110aec5c0] Add OFSocket base class. (check-in: [0110aec5c0] user: js, branch: trunk, size: 4251) [annotate] [blame] [check-ins using] [diff]
2009-05-03
21:33
[cec4aee89e] part of check-in [5ca127891c] Get rid of + new.
Additionally, make - accept return an autoreleased OFTCPSocket.
(check-in: [5ca127891c] user: js, branch: trunk, size: 5922) [annotate] [blame] [check-ins using] [diff]
17:19
[645f0b0d2c] part of check-in [7bf4b144ad] Make OFStream a class instead of a protocol and move readLine there. (check-in: [7bf4b144ad] user: js, branch: trunk, size: 5916) [annotate] [blame] [check-ins using] [diff]
15:45
[0f96f0fac9] part of check-in [dabcc373f7] readLine: for OFTCPSocket. (check-in: [dabcc373f7] user: js, branch: trunk, size: 8235) [annotate] [blame] [check-ins using] [diff]
2009-05-02
15:33
[34c32e126e] part of check-in [bdfd9d0464] Nicer way to create and initialize the socket in - accept. (check-in: [bdfd9d0464] user: js, branch: trunk, size: 5906) [annotate] [blame] [check-ins using] [diff]
2009-04-28
20:31
[5c6eb1441c] part of check-in [14f74f3c2f] Fix two missing spaces. (check-in: [14f74f3c2f] user: js, branch: trunk, size: 6113) [annotate] [blame] [check-ins using] [diff]
2009-04-26
12:44
[59fbba1365] part of check-in [e959fed010] A few renames in OFObject.

getMemWithSize: -> allocWithSize:
getMemForNItems:ofSize: -> allocNItems:withSize:
resizeMem:toNItems:ofSize: -> resizeMem:toNItems:withSize: (check-in: [e959fed010] user: js, branch: trunk, size: 6112) [annotate] [blame] [check-ins using] [diff]

2009-04-21
17:16
[a9b0b8f50a] part of check-in [d87df02e8b] The if ((self = [super init])) construct isn't needed anymore. (check-in: [d87df02e8b] user: js, branch: trunk, size: 6113) [annotate] [blame] [check-ins using] [diff]
2009-04-19
20:34
[9dddc5248f] part of check-in [139591afe1] Use isa instead of [self class].

Since we don't use Object anymore and define isa in OFObject, we can
rely on it. (check-in: [139591afe1] user: js, branch: trunk, size: 6126) [annotate] [blame] [check-ins using] [diff]

2009-04-09
13:55
[b0a40b2d84] part of check-in [722b6213c0] Use char* instead of uint8_t* for OFStreams and OFHashes.
This way, less casts are needed when using C libraries.
(check-in: [722b6213c0] user: js, branch: trunk, size: 6351) [annotate] [blame] [check-ins using] [diff]
2009-04-08
13:13
[86db944fc0] part of check-in [69e41c48ff] Throw an OFNotConnected exception when there was a clean disconnect. (check-in: [69e41c48ff] user: js, branch: trunk, size: 6387) [annotate] [blame] [check-ins using] [diff]
2009-04-07
15:44
[3dac29634e] part of check-in [09e6b3fc7b] Returning newly allocated buffers on reading is a bad idea.
The programmer might forget that some of the data is arbitrary because
there was less data than he requested which might lead to serious
problems.
(check-in: [09e6b3fc7b] user: js, branch: trunk, size: 6300) [annotate] [blame] [check-ins using] [diff]
2009-02-27
12:31
[efdb457766] part of check-in [3b62c10b6f] (void)initialize -> initialize. (check-in: [3b62c10b6f] user: js, branch: trunk, size: 6634) [annotate] [blame] [check-ins using] [diff]
2009-02-14
17:26
[a02bc73f70] part of check-in [029511474c] Always use #include for libc headers due to glibc being broken.
Do the same for win32 headers, just in case. They should work with
#import, but you never know ;).
(check-in: [029511474c] user: js, branch: trunk, size: 6625) [annotate] [blame] [check-ins using] [diff]
2009-01-24
20:28
[bf7391c607] part of check-in [7feac9e596] [self alloc] isn't a good idea with the new API.
The reason is that a derived class, for example derived from OFArray,
would not return an OFArray when + arrayWithItemSize is called.
(check-in: [7feac9e596] user: js, branch: trunk, size: 6620) [annotate] [blame] [check-ins using] [diff]
15:24
[c9f6264550] part of check-in [1496808b81] Adjust API to introduction of OFAutoreleasePool. (check-in: [1496808b81] user: js, branch: trunk, size: 6613) [annotate] [blame] [check-ins using] [diff]
2009-01-05
00:59
[7d0fea78bc] part of check-in [f1b749d113] Update copyright. (check-in: [f1b749d113] user: js, branch: trunk, size: 6553) [annotate] [blame] [check-ins using] [diff]
2009-01-04
01:40
[f0f26c68bf] part of check-in [bb1fe89478] Clean up exceptions. (check-in: [bb1fe89478] user: js, branch: trunk, size: 6546) [annotate] [blame] [check-ins using] [diff]
2009-01-02
17:20
[180713756a] part of check-in [ba01b9c18a] Some import fixes, some static lib and win32 enhancements. (check-in: [ba01b9c18a] user: js, branch: trunk, size: 6387) [annotate] [blame] [check-ins using] [diff]
2008-12-23
16:51
[546d4d81ab] part of check-in [839112196f] Add Win32 support to OFTCPSocket. Even IPv6 works! (check-in: [839112196f] user: js, branch: trunk, size: 6384) [annotate] [blame] [check-ins using] [diff]
03:59
[03aa5d92f4] part of check-in [7d7b89d775] Remove spaces and tabs at end of line. (check-in: [7d7b89d775] user: js, branch: trunk, size: 5776) [annotate] [blame] [check-ins using] [diff]
2008-12-19
22:04
[7656e7376a] part of check-in [2e6119eb42] Add - setBlocking and - enableKeepAlives for OFTCPSocket. (check-in: [2e6119eb42] user: js, branch: trunk, size: 5782) [annotate] [blame] [check-ins using] [diff]
2008-12-14
01:45
[014fa32cf3] part of check-in [af9e349898] Two new exceptions; fix 3 FIXMEs in OFTCPSocket. (check-in: [af9e349898] user: js, branch: trunk, size: 5242) [annotate] [blame] [check-ins using] [diff]
2008-12-13
23:11
[4835d59f11] part of check-in [ec3c199d1a] Fix two more FIXMEs in OFTCPSocket; new exception. (check-in: [ec3c199d1a] user: js, branch: trunk, size: 5151) [annotate] [blame] [check-ins using] [diff]
19:25
[eaaeb57c56] part of check-in [142572f90b] Initial attempt to port to win32. (check-in: [142572f90b] user: js, branch: trunk, size: 4990) [annotate] [blame] [check-ins using] [diff]
15:08
[c69f2ecab6] part of check-in [b5ea1b43c4] One new exception; fix one FIXME in OFTCPSocket. (check-in: [b5ea1b43c4] user: js, branch: trunk, size: 4956) [annotate] [blame] [check-ins using] [diff]
14:52
[0fd4ca4245] part of check-in [7d05cee843] Fix 2 FIXMEs in OFTCPSocket. (check-in: [7d05cee843] user: js, branch: trunk, size: 4900) [annotate] [blame] [check-ins using] [diff]
2008-12-11
14:06
[275bdc16df] part of check-in [85f7e202b1] Fix two more FIXMEs in OFTCPSocket; new exception. (check-in: [85f7e202b1] user: js, branch: trunk, size: 4756) [annotate] [blame] [check-ins using] [diff]
13:56
[cbc64c1780] part of check-in [6d765d0301] Fix two FIXMEs in OFTCPSocket. (check-in: [6d765d0301] user: js, branch: trunk, size: 4746) [annotate] [blame] [check-ins using] [diff]
2008-12-10
18:00
[8a2ef1e3cd] part of check-in [a01c94d9dd] Enhance exceptions; fix some FIXMEs in OFTCPSocket. (check-in: [a01c94d9dd] user: js, branch: trunk, size: 4684) [annotate] [blame] [check-ins using] [diff]
17:54
[594dc2652b] part of check-in [e9f870cfc0] When closing an OFTCPSocket, set it's internal socket to -1. (check-in: [e9f870cfc0] user: js, branch: trunk, size: 4612) [annotate] [blame] [check-ins using] [diff]
2008-12-08
16:51
[5f52ffb737] part of check-in [c8990ecd12] Don't allow connecting/binding on an already opened socket.
Also, free mem on accepted sockets when close is called.
(check-in: [c8990ecd12] user: js, branch: trunk, size: 4599) [annotate] [blame] [check-ins using] [diff]
2008-12-07
21:58
[d316d7c59d] part of check-in [0d5b08e43e] Server support for OFTCPSocket. (check-in: [0d5b08e43e] user: js, branch: trunk, size: 4403) [annotate] [blame] [check-ins using] [diff]
10:35
[ed0fb6187c] part of check-in [657fae20a4] Add - close to OFStream. (check-in: [657fae20a4] user: js, branch: trunk, size: 2212) [annotate] [blame] [check-ins using] [diff]
10:24
Added: [1175a4c331] part of check-in [d1a5065e69] OFSocket -> OFTCPSocket. (check-in: [d1a5065e69] user: js, branch: trunk, size: 2119) [annotate] [blame] [check-ins using]