ObjFW  History of src/exceptions/OFReadOrWriteFailedException.m of c1c9443c1a681203

History of the file that is called src/exceptions/OFReadOrWriteFailedException.m at check-in c1c9443c1a681203

2024-04-03
02:16
[112c386c33] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 2026) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[fed08201b6] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 1818) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[ddb8831317] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 1818) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[02ef4afd0b] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 1818) [annotate] [blame] [check-ins using] [diff]
2021-11-13
20:28
[451a9c002f] part of check-in [112eb62f7b] Add OFSecureTransportTLSStream

This implements OFTLSStream using Apple's Secure Transport. While Secure
Transport is declared deprecated by Apple, Apple so far has failed to
provide a suitable replacement. They recommend Network.framework as a
replacement, however it can neither work on arbitrary sockets, nor can
it do STARTTLS. (check-in: [112eb62f7b] user: js, branch: trunk, size: 1818) [annotate] [blame] [check-ins using] [diff]

2021-04-18
22:56
[dadaef8eb0] part of check-in [e73c65a849] Rename all symbols marked extern (check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 1626) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[18185f7c97] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 1627) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[8ec2463652] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 1716) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[579193bf27] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 1713) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[3c31dc30b5] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 1707) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[2080a86175] 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: 1684) [annotate] [blame] [check-ins using] [diff]

2017-06-05
17:36
[91f716863e] part of check-in [4f36894ce7] Clean up exceptions a little

This removes several initializers that omitted the errNo. Removing those
forces to think about whether there is a meaningful errNo to set instead
of just omitting it. (check-in: [4f36894ce7] user: js, branch: trunk, size: 1652) [annotate] [blame] [check-ins using] [diff]

2017-06-04
23:41
[64f51c8ea5] part of check-in [cc5923d6bb] Add designated initializer to all exceptions (check-in: [cc5923d6bb] user: js, branch: trunk, size: 2221) [annotate] [blame] [check-ins using] [diff]
2017-05-13
16:56
[dcc2fa8f51] part of check-in [4df6ab6bca] Fix compilation with GCC (check-in: [4df6ab6bca] user: js, branch: trunk, size: 2228) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[cf55ce6afb] 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: 2171) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[a4c5d2c02e] 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: 2170) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

2015-11-29
11:43
[523d439238] 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: 2160) [annotate] [blame] [check-ins using] [diff]

2015-02-16
08:39
[545888cf6f] 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: 2200) [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
[231337000a] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 1879) [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
[83c83ae07d] 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: 1873) [annotate] [blame] [check-ins using] [diff]

2014-01-27
22:01
[555499f2ea] part of check-in [5025cba435] Add OFUDPSocket

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

2014-01-25
17:39
[d342160908] part of check-in [8d2a5052fd] Generalize stream / socket related exceptions

This is in preparation for adding UDP sockets, as UDP sockets and TCP
sockets have no common superclass, as one is stream-oriented while the
other is packet-oriented.

Read and write exceptions are for any object now, as they are useful for
a lot more than just for streams, while the others (bind, listen, etc.)
are for any socket now (the type is id in this case, though, as there is
no common superclass). (check-in: [8d2a5052fd] user: js, branch: trunk, size: 1815) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[fa0e710750] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 1849) [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:12
[097ec72f47] part of check-in [35dafd5c57] Add OF_INVALID_INIT_METHOD. (check-in: [35dafd5c57] user: js, branch: trunk, size: 1843) [annotate] [blame] [check-ins using] [diff]
2013-11-20
22:06
[1a0bc9c6ea] part of check-in [85e8ccc3a5] Make exception properties atomic. (check-in: [85e8ccc3a5] user: js, branch: trunk, size: 1933) [annotate] [blame] [check-ins using] [diff]
2013-07-05
16:54
[32fe9f37fd] part of check-in [e790f0e1f0] Map WSA error codes to standard error codes. (check-in: [e790f0e1f0] user: js, branch: trunk, size: 1934) [annotate] [blame] [check-ins using] [diff]
2013-06-23
21:52
[4ce61d5ebe] part of check-in [6192726d32] Add a few casts to make GCC happy.

Also adds a few imports and removes unused code. (check-in: [6192726d32] user: js, branch: trunk, size: 1871) [annotate] [blame] [check-ins using] [diff]

2013-06-22
12:12
[81b4e6d457] 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: 1850) [annotate] [blame] [check-ins using] [diff]

2013-04-26
19:42
[a5ac8c3823] part of check-in [590c377d8a] Make it possible to disable sockets. (check-in: [590c377d8a] user: js, branch: trunk, size: 1768) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[74aee00696] 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: 1707) [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
[29e58b37e2] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 1704) [annotate] [blame] [check-ins using] [diff]
2013-02-05
22:24
[9aff6467fd] part of check-in [737a82e1a4] Move abort() to make old GCCs happy. (check-in: [737a82e1a4] user: js, branch: trunk, size: 1668) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[7274a9c5f3] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 1668) [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
[e1a4cb7250] part of check-in [917ce5754c] Add -[doesNotRecognizeSelector:]. (check-in: [917ce5754c] user: js, branch: trunk, size: 1662) [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
[af417a70ea] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 1694) [annotate] [blame] [check-ins using] [diff]
2012-10-02
11:00
[7f4654462a] part of check-in [c7adbcf399] Clean up properties in exceptions. (check-in: [c7adbcf399] user: js, branch: trunk, size: 1680) [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
[a9588f5d20] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 1673) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[68006d8668] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 1664) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[c53987a5bd] 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: 1658) [annotate] [blame] [check-ins using] [diff]

2011-09-11
00:03
[274c6b9632] part of check-in [74eeea199c] Make use of the fact that -[retain] and -[release] must not throw. (check-in: [74eeea199c] user: js, branch: trunk, size: 1628) [annotate] [blame] [check-ins using] [diff]
2011-04-22
18:00
[fdcd27a313] part of check-in [4814266280] More style improvements. (check-in: [4814266280] user: js, branch: trunk, size: 1676) [annotate] [blame] [check-ins using] [diff]
2011-03-24
21:17
[e499bb5a9d] part of check-in [7ced2e7b6a] Pass the stream for stream exceptions. (check-in: [7ced2e7b6a] user: js, branch: trunk, size: 1650) [annotate] [blame] [check-ins using] [diff]
16:09
Added: [a76983b7b0] part of check-in [e1eea29286] Split OFExceptions.{h,m} into one file per exception. (check-in: [e1eea29286] user: js, branch: trunk, size: 1394) [annotate] [blame] [check-ins using]