ObjFW  History of src/OFTCPSocket.h of fcee07f80f909045

History of file src/OFTCPSocket.h at check-in fcee07f80f909045

2024-11-07
21:15
Document -[usesMPTCP] may incorrectly return false file: [0b84296c9c] check-in: [9a6b5d6cc4] user: js, branch: mptcp, size: 9199 [annotate] [blame] [check-ins using] [diff]
2024-10-28
23:46
Initial MPTCP implementation for macOS/iOS

Unfortunately, I haven't found a way to reliably check if a connection
is using MPTCP on macOS/iOS yet, so -[usesMPTCP] always returns false
for now. In my tests with SIOCGCONNINFO, the flags were always 0. file: [a5332f3211] check-in: [4e763857b8] user: js, branch: mptcp, size: 9082 [annotate] [blame] [check-ins using] [diff]

21:35
Initial MPTCP implementation for Linux file: [2c25626468] check-in: [71834180cb] user: js, branch: mptcp, size: 9076 [annotate] [blame] [check-ins using] [diff]
2024-10-27
22:27
Allow strings to contain \0

In order to not accidentally have C strings with \0, an
OFInvalidEncodingException is thrown when trying to get a C string for a
string that contains \0.

In order to get a C string with \0 anyway, a new method
-[insecureCStringWithEncoding:] is added. file: [c7a38bf638] check-in: [6fbc3b18c7] user: js, branch: trunk, size: 8784 [annotate] [blame] [check-ins using] [diff]

18:10
OFTCPSocket: Rework blocks-based API file: [3d8f48f978] check-in: [9611851a89] user: js, branch: trunk, size: 8785 [annotate] [blame] [check-ins using] [diff]
2024-06-17
21:08
Always use <ObjFW/ObjFW.h> in documentation file: [a17e251c9a] check-in: [164f2fb4bf] user: js, branch: trunk, size: 6970 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [aafb477b2e] check-in: [7413a728a7] user: js, branch: trunk, size: 6982 [annotate] [blame] [check-ins using] [diff]
2024-02-03
11:39
Minor documentation improvement file: [28525542c8] check-in: [e8cf367195] user: js, branch: 1.0, size: 6774 [annotate] [blame] [check-ins using] [diff]
11:37
Minor documentation improvement file: [2942ef5e7e] check-in: [e03c6b5d9d] user: js, branch: trunk, size: 6774 [annotate] [blame] [check-ins using] [diff]
08:53
Fix typos in documentation found by spell checker file: [67a74a5ce9] check-in: [19f3948a26] user: js, branch: 1.0, size: 6740 [annotate] [blame] [check-ins using] [diff]
08:49
Fix typos in documentation found by spell checker file: [4115c6dc65] check-in: [f97dc452b1] user: js, branch: trunk, size: 6740 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [f802834c92] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 6740 [annotate] [blame] [check-ins using] [diff]
2023-08-25
12:25
Minor documentation improvement file: [bccc5fcf49] check-in: [29bbfc3e47] user: js, branch: trunk, size: 6740 [annotate] [blame] [check-ins using] [diff]
2023-05-21
11:04
OFTCPSocket: Return socket address bound to file: [5c29465efd] check-in: [fc161d1948] user: js, branch: trunk, size: 6734 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [ac090f5eec] check-in: [8939cbdb52] user: js, branch: trunk, size: 6724 [annotate] [blame] [check-ins using] [diff]
2022-12-27
13:58
Rename OFAlready{Connected -> Open}Exception file: [13057c64fa] check-in: [29a41e5a78] user: js, branch: trunk, size: 6724 [annotate] [blame] [check-ins using] [diff]
2022-10-22
17:29
Split OFConnectSocketFailedException in subclasses file: [522e53453c] check-in: [179b60bfb4] user: js, branch: trunk, size: 6734 [annotate] [blame] [check-ins using] [diff]
16:50
Rename OFConnect{ion -> Socket}FailedException file: [cc82674b9e] check-in: [43b57ece47] user: js, branch: trunk, size: 6732 [annotate] [blame] [check-ins using] [diff]
16:00
Split OFBindSocketFailedException into subclasses file: [171e9901f1] check-in: [72db6b3c6f] user: js, branch: trunk, size: 6729 [annotate] [blame] [check-ins using] [diff]
15:07
Rename OFBind{ -> Socket}FailedException file: [5b7d6c5295] check-in: [35b565d369] user: js, branch: trunk, size: 6727 [annotate] [blame] [check-ins using] [diff]
2022-10-17
23:27
Document more exceptions file: [13742bc171] check-in: [d92d094980] user: js, branch: trunk, size: 6721 [annotate] [blame] [check-ins using] [diff]
2022-08-13
14:33
OFTCPSocket: Minor documentation fix file: [21cfa24eb5] check-in: [08cb210f76] user: js, branch: trunk, size: 6188 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [fc53b099cc] check-in: [1a86b8175b] user: js, branch: trunk, size: 6183 [annotate] [blame] [check-ins using] [diff]
2021-11-06
00:10
Make OFTLSSocket an abstract class

This should make it easier to add TLS support using various
implementations. file: [4ad589837f] check-in: [34cb121dc5] user: js, branch: trunk, size: 6183 [annotate] [blame] [check-ins using] [diff]

2021-10-24
21:15
Add OFUNIXStreamSocket file: [7942720881] check-in: [aaf477fc88] user: js, branch: unix-sockets, size: 6292 [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
Rename all symbols marked extern file: [9ae8ba1677] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 6286 [annotate] [blame] [check-ins using] [diff]
2021-04-17
03:37
of_run_loop_mode_t -> OFRunLoopMode file: [d5a780252d] check-in: [b480ef54db] user: js, branch: new-naming-convention, size: 6289 [annotate] [blame] [check-ins using] [diff]
03:21
Rename all blocks file: [1696dc957f] check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 6299 [annotate] [blame] [check-ins using] [diff]
2021-03-07
15:07
*.h: Fold methods into one line where it fits file: [b81cee61b1] check-in: [1948e7e972] user: js, branch: trunk, size: 6320 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [cdec3df6fd] check-in: [374e1a1bfa] user: js, branch: trunk, size: 6335 [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
Use /** */ instead of /*! */ for documentation file: [63c13750a5] check-in: [163a4a5a2e] user: js, branch: trunk, size: 6424 [annotate] [blame] [check-ins using] [diff]
2020-09-26
21:58
Don't require __COUNTER__ for OF_RESERVE_IVARS

__COUNTER__ does not exist in GCC 4.2, and Apple GCC 4.2 is still the
newest compiler available for macOS 10.5. file: [f9723931da] check-in: [ef614a225d] user: js, branch: trunk, size: 6424 [annotate] [blame] [check-ins using] [diff]

2020-05-30
14:35
Remove unnecessary imports of socket.h file: [34998132f3] check-in: [9e03377177] user: js, branch: trunk, size: 6411 [annotate] [blame] [check-ins using] [diff]
2020-05-06
00:32
Improve names of several properties file: [cedf99692f] check-in: [bc67e98833] user: js, branch: trunk, size: 6431 [annotate] [blame] [check-ins using] [diff]
2020-04-26
19:39
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. file: [8293d08642] check-in: [d7ddb3dbc7] user: js, branch: trunk, size: 6418 [annotate] [blame] [check-ins using] [diff]

18:10
Move accept and listen OF{TCP -> Stream}Socket file: [085c9c8662] check-in: [13a8f43898] user: js, branch: trunk, size: 6487 [annotate] [blame] [check-ins using] [diff]
16:21
Add OFSequencedPacketSocket

This is intended for SCTP and SPX. file: [6a97f5073a] check-in: [e5b2ee56ff] user: js, branch: trunk, size: 9311 [annotate] [blame] [check-ins using] [diff]

2020-04-24
00:21
Add OFIPStreamSocket

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

2020-01-02
01:51
Update copyright file: [e4fec95ad0] check-in: [c7f0229795] user: js, branch: trunk, size: 9315 [annotate] [blame] [check-ins using] [diff]
2019-09-29
19:35
Either restrict subclassing or reserve ivar space

This allows ABI stability with the fragile ABI. file: [52ed0f333c] check-in: [496695d778] user: js, branch: trunk, size: 9312 [annotate] [blame] [check-ins using] [diff]

2019-03-08
00:35
Use dot syntax file: [0da62ee227] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 9291 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [7fc0a58cc9] check-in: [0509d7a844] user: js, branch: trunk, size: 9366 [annotate] [blame] [check-ins using] [diff]
2018-12-11
22:57
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. file: [e932bc199a] check-in: [064dbe5127] user: js, branch: trunk, size: 9360 [annotate] [blame] [check-ins using] [diff]

2018-12-08
16:53
Separate error methods for async method delegates file: [077e4589a5] check-in: [2b6a12065e] user: js, branch: trunk, size: 9863 [annotate] [blame] [check-ins using] [diff]
16:05
OFTCPSocket: Use a delegate for async operations file: [4f0f6c4d0d] check-in: [27153bf8cf] user: js, branch: trunk, size: 9022 [annotate] [blame] [check-ins using] [diff]
2018-10-07
21:06
OFTCPSocket: Use OF_KINDOF for block types file: [65cbd0fc74] check-in: [53172692a6] user: js, branch: trunk, size: 9867 [annotate] [blame] [check-ins using] [diff]
2018-10-06
18:24
OFTCPSocket: Allow specifying the run loop mode file: [38f799c939] check-in: [29e9a4c868] user: js, branch: trunk, size: 9825 [annotate] [blame] [check-ins using] [diff]
2018-09-16
12:49
OFTCPSocket: Async connect without threads file: [0871d5445b] check-in: [6638379972] user: js, branch: trunk, size: 7282 [annotate] [blame] [check-ins using] [diff]
2018-08-11
14:00
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. file: [0973252c95] check-in: [8f810ecb7e] user: js, branch: trunk, size: 7314 [annotate] [blame] [check-ins using] [diff]

2018-06-24
22:08
Rename -[listenWith{BackLog -> Backlog}:] file: [6656d5bf06] check-in: [3cd89fa8ba] user: js, branch: trunk, size: 7357 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [0fb7f74026] check-in: [7e5c81e186] user: js, branch: trunk, size: 7357 [annotate] [blame] [check-ins using] [diff]
2017-11-18
18:50
Documentation: Use @brief for all properties file: [c305337bfc] check-in: [cc3ad3ddd3] user: js, branch: trunk, size: 7334 [annotate] [blame] [check-ins using] [diff]
2017-10-30
00:23
Add class properties where appropriate

This improves Swift compatibility. file: [4bf4a25fa2] check-in: [a2e849c681] user: js, branch: trunk, size: 7292 [annotate] [blame] [check-ins using] [diff]

2017-10-29
21:58
Convert methods to properties where appropriate

This improves Swift compatibility. file: [710f0fdfb9] check-in: [f3ccf14461] user: js, branch: trunk, size: 7135 [annotate] [blame] [check-ins using] [diff]

2017-09-26
22:01
Many nullability fixes file: [91bb6c7528] check-in: [319709fff1] user: js, branch: 0.90, size: 7559 [annotate] [blame] [check-ins using] [diff]
21:53
Many nullability fixes file: [a227914da5] check-in: [52011fbfd6] user: js, branch: trunk, size: 7742 [annotate] [blame] [check-ins using] [diff]
2017-09-24
16:34
Minor documentation fix file: [6a0791ce59] check-in: [a0394db776] user: js, branch: trunk, size: 7722 [annotate] [blame] [check-ins using] [diff]
11:24
Change type for async exceptions to id file: [79fa8a3d5c] check-in: [f8498bb114] user: js, branch: trunk, size: 7596 [annotate] [blame] [check-ins using] [diff]
2017-09-23
22:07
Support for passing a context to async IO handlers file: [d70cc2f958] check-in: [958da109d3] user: js, branch: trunk, size: 7643 [annotate] [blame] [check-ins using] [diff]
2017-08-11
22:26
Always have retain / copy before nonatomic file: [fe4d222a18] check-in: [9db36c14b5] user: js, branch: trunk, size: 7539 [annotate] [blame] [check-ins using] [diff]
2017-05-13
16:29
Also use nonatomic for non-object properties file: [0d4361b9a8] check-in: [f663d40cbd] user: js, branch: trunk, size: 7539 [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
Small code style change

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

2017-04-30
13:35
Use nonatomic for properties and clean up

This changes retaining behavior, meaning properties are not returned
retained and autoreleased anymore, so a property returned from a getter
now needs to be manually retained and autoreleased before calling the
setter. However, this is rarely the case and not using atomic improves
performance. file: [7e829b3ab1] check-in: [0a73af49f0] user: js, branch: trunk, size: 7520 [annotate] [blame] [check-ins using] [diff]

2017-02-04
17:45
Fix typos in comments and strings found by aspell file: [23290948e1] check-in: [5a31a537a1] user: js, branch: trunk, size: 7509 [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
Update copyright

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

2016-07-24
02:19
Minor documentation fix file: [282e7dee6a] check-in: [79e447956c] user: js, branch: trunk, size: 7499 [annotate] [blame] [check-ins using] [diff]
2016-03-27
23:10
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. file: [1b9fd13a4f] check-in: [12b8a7552e] user: js, branch: trunk, size: 7501 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [0973528b48] check-in: [cec0f072f8] user: js, branch: 0.8, size: 7972 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

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

2015-11-29
11:43
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). file: [694cce421a] check-in: [48980f2297] user: js, branch: trunk, size: 7235 [annotate] [blame] [check-ins using] [diff]

2015-11-28
19:47
Minor documentation improvements file: [236b9a919c] check-in: [650b4be224] user: js, branch: trunk, size: 7982 [annotate] [blame] [check-ins using] [diff]
2015-11-21
18:35
Remove OF_NULLABLE / OF_NONNULL

Now that Clang switched to use _Nullable and _Nonnull instead of
__nullable / __nonnull, there is no longer a conflict with glibc, which
means we can just define _Nullable / _Nonnull to nothing if they are not
understood by the compiler (which did not work with __nullable /
__nonnull due to this conflict).

This also defines _Null_unspecified to nothing if unavailable. file: [68e32c48a9] check-in: [d526d938d7] user: js, branch: trunk, size: 7978 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [8b426328b2] check-in: [1ba08eebc5] user: js, branch: trunk, size: 7984 [annotate] [blame] [check-ins using] [diff]
2015-10-17
10:59
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. file: [55b987fd74] check-in: [ed4549ddd3] user: js, branch: trunk, size: 7985 [annotate] [blame] [check-ins using] [diff]

2015-09-06
15:48
Fix compilation for Wii file: [7dabca200d] check-in: [d0eab356ce] user: js, branch: trunk, size: 7968 [annotate] [blame] [check-ins using] [diff]
2015-06-17
22:11
Add OF_NULLABLE_PROPERTY

This is necessary to make GCC (>= 4.6 and Apple GCC) happy as they don't
like the list of property attributes ending in a comma. file: [6382beb2ce] check-in: [80e1a9655b] user: js, branch: trunk, size: 7901 [annotate] [blame] [check-ins using] [diff]

2015-06-14
10:45
Add OF_NONNULL / OF_NULLABLE and use that instead

Using __nonnull directly doesn't work on systems using glibc, as glibc
defines __nonnull as a parameterized define. While this does not fix the
problem of Clang introducing __nonnull even though it conflicts with
glibc, this at least means it's possible again to compile things with
versions of Clang that don't support __nonnull on systems with glibc. file: [5654a78b4e] check-in: [b7097a67b6] user: js, branch: trunk, size: 7890 [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
Add support for and use the new nullability file: [433e48e1ac] check-in: [9e76144ef8] user: js, branch: trunk, size: 7887 [annotate] [blame] [check-ins using] [diff]
2015-05-03
10:16
OFTCPSocket: Add -[setTCPNoDelayEnabled:]

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

2015-01-03
20:57
Update copyright file: [d128094129] check-in: [cfd374b906] user: js, branch: trunk, size: 7091 [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
Documentation: Show correct imports file: [61e3a49d05] check-in: [246cfe0807] user: js, branch: trunk, size: 7085 [annotate] [blame] [check-ins using] [diff]
2014-01-30
22:02
OFUDPSocket: Add async resolve / receive file: [4dae1e7fcb] check-in: [ff3c507941] user: js, branch: trunk, size: 7026 [annotate] [blame] [check-ins using] [diff]
12:26
Rename of_tcpsocket* -> of_tcp_socket_* file: [b417a8af49] check-in: [7908c035e4] user: js, branch: trunk, size: 7022 [annotate] [blame] [check-ins using] [diff]
2014-01-27
22:01
Add OFUDPSocket

Async operations will follow later. file: [fee5d55648] check-in: [5025cba435] user: js, branch: trunk, size: 7018 [annotate] [blame] [check-ins using] [diff]

2014-01-26
22:38
Move resolving functionality to resolver.m

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

2014-01-25
19:33
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. file: [4b861449bf] check-in: [81d47f4398] user: js, branch: trunk, size: 7020 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [d27684139a] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 7347 [annotate] [blame] [check-ins using] [diff]
2013-06-11
23:33
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. file: [2b3fb6a25a] check-in: [ffb91daffe] user: js, branch: trunk, size: 7341 [annotate] [blame] [check-ins using] [diff]

2013-05-26
17:24
OFTCPSocket.h: Explicitly import objfw-defs.h. file: [4ec65efa11] check-in: [49b741b30e] user: js, branch: trunk, size: 7260 [annotate] [blame] [check-ins using] [diff]
2013-05-22
18:42
Check for more socket-related headers / functions. file: [720d96e946] check-in: [896084c340] user: js, branch: trunk, size: 7236 [annotate] [blame] [check-ins using] [diff]
2013-03-31
10:04
Improve OFTLSSocket protocol. file: [63a39507d8] check-in: [b7b67d7119] user: js, branch: trunk, size: 7267 [annotate] [blame] [check-ins using] [diff]
2013-03-08
22:44
Document the block types.

This also removes "bool *stop" from some blocks where it does not make
sense. file: [efe8886d8a] check-in: [e8473b9db8] user: js, branch: trunk, size: 7267 [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
Replace BOOL with bool.

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

2013-02-12
18:22
Prefix all ivars with an underscore. file: [99ba0b78fd] check-in: [e40729d406] user: js, branch: trunk, size: 6583 [annotate] [blame] [check-ins using] [diff]
2013-01-12
20:53
Clean up the feature #ifdef mess. file: [80ab9c568a] check-in: [b8ce2359f3] user: js, branch: trunk, size: 6550 [annotate] [blame] [check-ins using] [diff]
20:21
Fix --disable-threads. file: [e5d525cdbe] check-in: [85b8efadbc] user: js, branch: trunk, size: 6545 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [29c6e8f03f] check-in: [813c00ccf0] user: js, branch: trunk, size: 6518 [annotate] [blame] [check-ins using] [diff]
2012-12-13
20:53
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. file: [7bc1670242] check-in: [1abe5a111f] user: js, branch: trunk, size: 6512 [annotate] [blame] [check-ins using] [diff]

2012-10-30
18:50
Async I/O: Pass a context. file: [9d3bdeb531] check-in: [13ea2fc8b1] user: js, branch: trunk, size: 6624 [annotate] [blame] [check-ins using] [diff]
2012-10-29
08:00
Documentation improvements. file: [3d65177451] check-in: [7a3977d7fd] user: js, branch: 0.7, size: 6410 [annotate] [blame] [check-ins using] [diff]
07:59
Documentation improvements. file: [e5cbeb8df7] check-in: [63bf4de97b] user: js, branch: trunk, size: 6410 [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:38
Switch to a headerdoc-compatible doc format. file: [9fd81ec698] check-in: [1ad9565253] user: js, branch: trunk, size: 6408 [annotate] [blame] [check-ins using] [diff]
2012-10-17
20:16
Pass exceptions on async I/O.

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

2012-09-19
23:57
Make async connecting possible without blocks. file: [cd657843ce] check-in: [4f149012e9] user: js, branch: trunk, size: 6321 [annotate] [blame] [check-ins using] [diff]
23:02
Make async I/O possible without blocks.

Async connecting is still missing. file: [804b5d55d9] check-in: [4d9a641d87] user: js, branch: trunk, size: 5800 [annotate] [blame] [check-ins using] [diff]

2012-09-16
10:19
Add -[OFTCPSocket asyncAcceptWithBlock:]. file: [fc62eafd6e] check-in: [5d8349a8f6] user: js, branch: trunk, size: 5295 [annotate] [blame] [check-ins using] [diff]
2012-09-15
12:22
OFTCPSocket: Implement async connecting. file: [3bab17e6ab] check-in: [3b68656e8d] user: js, branch: trunk, size: 4867 [annotate] [blame] [check-ins using] [diff]
2012-02-25
11:24
Always define __STDC_{CONSTANT,LIMIT}_MACROS before libc includes.
This is necessary for ObjC++.
file: [df788899f8] check-in: [99ed50a5e4] user: js, branch: 0.6, size: 4336 [annotate] [blame] [check-ins using] [diff]
2012-02-01
13:42
Clean up the properties mess. file: [44007219ff] check-in: [c1b35e1495] user: js, branch: trunk, size: 4201 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [514d791254] check-in: [ce70e17b38] user: js, branch: trunk, size: 4218 [annotate] [blame] [check-ins using] [diff]
2011-12-08
02:25
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). file: [fa3ba9a6c5] check-in: [a3b3333128] user: js, branch: trunk, size: 4212 [annotate] [blame] [check-ins using] [diff]

2011-10-04
18:17
Move SOCKS5 support to OFTCPSocket. file: [02231d7620] check-in: [48708f2435] user: js, branch: trunk, size: 3426 [annotate] [blame] [check-ins using] [diff]
2011-09-22
02:23
D'oh, stupid typo. file: [5cb71bfab3] check-in: [08700d08a6] user: js, branch: trunk, size: 2690 [annotate] [blame] [check-ins using] [diff]
2011-09-19
13:07
Rename -[bindToPort:onHost:] to -[bindToHost:port:].
This way it's consistent with -[connectToHost:port].
file: [83294d47e8] check-in: [b8517c63ca] user: js, branch: trunk, size: 2690 [annotate] [blame] [check-ins using] [diff]
12:34
BOOL naming conventions. file: [d3fc0d3305] check-in: [d43eb177bc] user: js, branch: trunk, size: 2690 [annotate] [blame] [check-ins using] [diff]
2011-09-11
17:09
Documentation improvements. file: [f9ba7e8037] check-in: [8d554c0421] user: js, branch: trunk, size: 2593 [annotate] [blame] [check-ins using] [diff]
2011-07-17
02:08
Use sockaddr_storage instead of sockaddr in OFTCPSocket.
This ensures it's big enough and correctly aligned.
file: [7f7c70792a] check-in: [1688bf89e0] user: js, branch: 0.5, size: 2399 [annotate] [blame] [check-ins using] [diff]
02:03
Use sockaddr_storage instead of sockaddr in OFTCPSocket.
This ensures it's big enough and correctly aligned.
file: [cffdc41556] check-in: [7a5b65ee4d] user: js, branch: trunk, size: 2392 [annotate] [blame] [check-ins using] [diff]
2011-06-05
18:53
Rename -[connetToHost:onPort:] to -[connectToHost:port:]. file: [abc527a77c] check-in: [1940d72ec7] user: js, branch: trunk, size: 2382 [annotate] [blame] [check-ins using] [diff]
2011-04-22
21:08
More style improvements. file: [5adaf7382b] check-in: [fb95acc8ab] user: js, branch: trunk, size: 2389 [annotate] [blame] [check-ins using] [diff]
2011-04-08
07:05
Add -[isListening] to OFTCPSocket. file: [98f00d6f79] check-in: [054a38e82d] user: js, branch: trunk, size: 2389 [annotate] [blame] [check-ins using] [diff]
2011-04-06
18:30
Move ivar listening to OFTCPSocket.
Also, we don't need these ivars to be @public anymore.
file: [2a976521af] check-in: [d776cbf5e2] user: js, branch: trunk, size: 2306 [annotate] [blame] [check-ins using] [diff]
2011-03-29
23:19
Make it possible to let -[bindToPort:onHost:] choose a port. file: [146d82e777] check-in: [d983af3d93] user: js, branch: trunk, size: 2288 [annotate] [blame] [check-ins using] [diff]
2011-02-10
17:19
Use ports instead of services in OFTCPSocket. file: [c8cf94209d] check-in: [a3e03981ea] user: js, branch: trunk, size: 2137 [annotate] [blame] [check-ins using] [diff]
2011-01-22
23:53
Autodetect family in -[bindService:onNode:]. file: [4276a55e09] check-in: [ca53d41c0f] user: js, branch: trunk, size: 2229 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [5f5aec5406] check-in: [da6b3d26cb] user: js, branch: trunk, size: 2255 [annotate] [blame] [check-ins using] [diff]
2010-11-24
19:45
Documentation improvements. file: [64acad46b9] check-in: [0769e074eb] user: js, branch: trunk, size: 1999 [annotate] [blame] [check-ins using] [diff]
2010-07-07
20:57
Rename OFSocket to OFStreamSocket.

This is to reflect that it is a connection-based, sequenced, reliable,
two-way byte stream. file: [b07d89367b] check-in: [28ea4a8a67] user: js, branch: trunk, size: 1802 [annotate] [blame] [check-ins using] [diff]

2010-04-17
22:27
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. file: [19e54da62b] check-in: [37db8f0fb3] user: js, branch: trunk, size: 1790 [annotate] [blame] [check-ins using] [diff]

15:46
Don't return self where not necessary, return void or something useful. file: [bc6d0d6e26] check-in: [062a052b50] user: js, branch: trunk, size: 1785 [annotate] [blame] [check-ins using] [diff]
2010-04-11
17:55
Add -[remoteAddress] to OFTCPSocket. file: [337485173f] check-in: [04dc76c8c3] user: js, branch: trunk, size: 1754 [annotate] [blame] [check-ins using] [diff]
2010-04-02
14:18
Close socket before throwing an exception when bind fails. file: [f3e771c9da] check-in: [ebf57f4891] user: js, branch: trunk, size: 1592 [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
Update copyright. file: [d46a3d4e4d] check-in: [42886185fd] user: js, branch: trunk, size: 1574 [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:58
Documentation improvements. file: [156c8c4b82] check-in: [72caeab860] user: js, branch: trunk, size: 1574 [annotate] [blame] [check-ins using] [diff]
2010-01-30
13:33
Move some stuff from OFSocket to OFTCPSocket. file: [ee8abca60b] check-in: [fe6787bc79] user: js, branch: trunk, size: 1571 [annotate] [blame] [check-ins using] [diff]
2010-01-22
18:40
Clean up OFStream and OFSocket interface.
This allows better compile-time checks.
file: [afa9fb265e] check-in: [273d5b90f8] user: js, branch: trunk, size: 1385 [annotate] [blame] [check-ins using] [diff]
2010-01-16
15:05
Reduce dependencies between headers. file: [fd6abf078a] check-in: [1433aef0d0] user: js, branch: trunk, size: 1422 [annotate] [blame] [check-ins using] [diff]
2009-12-03
10:29
More documentation improvements. file: [852a45db8a] check-in: [012cee4f80] user: js, branch: trunk, size: 1425 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [553ceb6fb7] check-in: [a3cc34b139] user: js, branch: trunk, size: 1429 [annotate] [blame] [check-ins using] [diff]
2009-06-09
20:44
Make OFSocket a class cluster. file: [cd27a12d0a] check-in: [f847f82b75] user: js, branch: trunk, size: 1432 [annotate] [blame] [check-ins using] [diff]
2009-05-29
09:28
Always use [self alloc]. file: [c2014cc1a4] check-in: [282aadb9df] user: js, branch: trunk, size: 1435 [annotate] [blame] [check-ins using] [diff]
2009-05-19
17:13
Rename + tcpSocket to + socket in OFTCPSocket. file: [fabcbf213d] check-in: [0b8c5616cb] user: js, branch: trunk, size: 1603 [annotate] [blame] [check-ins using] [diff]
2009-05-15
20:01
Use OFString as much as possible. file: [f1ec44f94b] check-in: [67066be692] user: js, branch: trunk, size: 1606 [annotate] [blame] [check-ins using] [diff]
2009-05-07
16:08
Add OFSocket base class. file: [2683abb6c9] check-in: [0110aec5c0] user: js, branch: trunk, size: 1571 [annotate] [blame] [check-ins using] [diff]
2009-05-03
21:33
Get rid of + new.
Additionally, make - accept return an autoreleased OFTCPSocket.
file: [5f9ebf21be] check-in: [5ca127891c] user: js, branch: trunk, size: 2083 [annotate] [blame] [check-ins using] [diff]
17:19
Make OFStream a class instead of a protocol and move readLine there. file: [91d2dde531] check-in: [7bf4b144ad] user: js, branch: trunk, size: 2103 [annotate] [blame] [check-ins using] [diff]
15:45
readLine: for OFTCPSocket. file: [68a22b9b8b] check-in: [dabcc373f7] user: js, branch: trunk, size: 2794 [annotate] [blame] [check-ins using] [diff]
2009-04-19
20:22
Remove useless definitions. file: [a8e391accf] check-in: [a756d3f511] user: js, branch: trunk, size: 2139 [annotate] [blame] [check-ins using] [diff]
2009-02-14
17:26
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 ;).
file: [bd7229eefe] check-in: [029511474c] user: js, branch: trunk, size: 2148 [annotate] [blame] [check-ins using] [diff]
2009-01-24
15:33
Remove now useless release calls. file: [06d6c5c438] check-in: [e635b9a3fc] user: js, branch: trunk, size: 2142 [annotate] [blame] [check-ins using] [diff]
15:24
Adjust API to introduction of OFAutoreleasePool. file: [968f2d5f3e] check-in: [1496808b81] user: js, branch: trunk, size: 2054 [annotate] [blame] [check-ins using] [diff]
2009-01-05
00:59
Update copyright. file: [f01ceb564c] check-in: [f1b749d113] user: js, branch: trunk, size: 1990 [annotate] [blame] [check-ins using] [diff]
2009-01-02
17:20
Some import fixes, some static lib and win32 enhancements. file: [e56061d926] check-in: [ba01b9c18a] user: js, branch: trunk, size: 1983 [annotate] [blame] [check-ins using] [diff]
2008-12-23
16:51
Add Win32 support to OFTCPSocket. Even IPv6 works! file: [4f744ac404] check-in: [839112196f] user: js, branch: trunk, size: 2067 [annotate] [blame] [check-ins using] [diff]
02:10
Check for sys/mman.h before trying to use madvise. file: [6c14a9bc26] check-in: [14ebaa7ca1] user: js, branch: trunk, size: 2013 [annotate] [blame] [check-ins using] [diff]
2008-12-19
23:15
Add errno in exceptions where it's useful. file: [4b9806efa1] check-in: [e668c03098] user: js, branch: trunk, size: 2019 [annotate] [blame] [check-ins using] [diff]
22:04
Add - setBlocking and - enableKeepAlives for OFTCPSocket. file: [e73bbae27a] check-in: [2e6119eb42] user: js, branch: trunk, size: 2015 [annotate] [blame] [check-ins using] [diff]
2008-12-13
19:25
Initial attempt to port to win32. file: [59b06f95cb] check-in: [142572f90b] user: js, branch: trunk, size: 1843 [annotate] [blame] [check-ins using] [diff]
2008-12-11
13:43
Remove - close from OFStream protocol.
The reason is that closing a file isn't too useful, because an OFFile
object can't be reused, whereas an OFTCPSocket can. So only the
OFTCPSocket should have closed. Plus, we don't need to handle the case
that someone tried to read from / write to a closed OFFile.
file: [dc54bd8b6a] check-in: [c83137e7cd] user: js, branch: trunk, size: 1622 [annotate] [blame] [check-ins using] [diff]
2008-12-07
21:58
Server support for OFTCPSocket. file: [01c69a8231] check-in: [0d5b08e43e] user: js, branch: trunk, size: 1582 [annotate] [blame] [check-ins using] [diff]
10:39
Remove redundant method definitions. file: [bf4dc8ccc5] check-in: [06c6cdbd34] user: js, branch: trunk, size: 782 [annotate] [blame] [check-ins using] [diff]
10:35
Add - close to OFStream. file: [8a8e95826f] check-in: [657fae20a4] user: js, branch: trunk, size: 1868 [annotate] [blame] [check-ins using] [diff]
10:24
Added: OFSocket -> OFTCPSocket. file: [89f3d3aa72] check-in: [d1a5065e69] user: js, branch: trunk, size: 1823 [annotate] [blame] [check-ins using]