ObjFW  History of src/OFStreamObserver_poll.m of ce70e17b388fb65f

History of file src/OFStreamObserver_poll.m at check-in ce70e17b388fb65f

2014-01-28
22:50
Deleted: Rename OFStreamObserver -> OFKernelEventObserver check-in: [96e20b8093] user: js, branch: trunk, size: 0
2014-01-26
13:32
Include unistd.h in socket_helpers.h file: [247da43586] check-in: [32ad39007a] user: js, branch: trunk, size: 4035 [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: [d72695f3f3] check-in: [81d47f4398] user: js, branch: trunk, size: 4056 [annotate] [blame] [check-ins using] [diff]

2014-01-16
23:09
Add of_time_interval_t.

This is used instead for time intervals now instead of doubles. file: [c4a5405d62] check-in: [dc31ce3d34] user: js, branch: trunk, size: 4170 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [01d8b3fa23] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 4158 [annotate] [blame] [check-ins using] [diff]
2013-08-15
19:00
Move private methods into private headers. file: [5dd81a0ef7] check-in: [1d7a1cbca0] user: js, branch: trunk, size: 4152 [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
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. file: [45fcb749cc] check-in: [3d16a30f41] user: js, branch: trunk, size: 4086 [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: [a45ade6207] check-in: [ffb91daffe] user: js, branch: trunk, size: 4109 [annotate] [blame] [check-ins using] [diff]

2013-05-22
18:42
Check for more socket-related headers / functions. file: [047427a85c] check-in: [896084c340] user: js, branch: trunk, size: 3903 [annotate] [blame] [check-ins using] [diff]
2013-04-30
22:47
observeWithTimeout: -> observeForTimeInterval:. file: [da5230bc72] check-in: [ab9ad6e515] user: js, branch: trunk, size: 3875 [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: [684851fd9c] check-in: [c5ef582958] user: js, branch: trunk, size: 3856 [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
Prefix all ivars with an underscore. file: [1648f30d0f] check-in: [e40729d406] user: js, branch: trunk, size: 3844 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [5c8293cbf9] check-in: [813c00ccf0] user: js, branch: trunk, size: 3840 [annotate] [blame] [check-ins using] [diff]
2012-12-20
16:42
Remove dummy implementations for formal protocols. file: [9a6f7b90a8] check-in: [89177dcd09] user: js, branch: trunk, size: 3834 [annotate] [blame] [check-ins using] [diff]
2012-12-15
17:52
OFDataArray: Improve API. file: [c07acfe92a] check-in: [c85ff8d35a] user: js, branch: trunk, size: 3577 [annotate] [blame] [check-ins using] [diff]
2012-10-09
22:02
Silence warnings about implicit float to int casts file: [ca9d956364] check-in: [a39a0d7bec] user: js, branch: trunk, size: 3675 [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:27
Prefix all private methods with OF_. file: [80446fffb3] check-in: [c137da5e5b] user: js, branch: trunk, size: 3670 [annotate] [blame] [check-ins using] [diff]
2012-09-12
06:00
OFStreamObserver: Cancel is no event anymore.

As cancel internally was an event, -[observeWithTimeout:] returned YES
before when an observe call was canceled. Now, the number of real events
is counted and NO returned if this is 0. file: [26ca60eaf1] check-in: [3de549d6a5] user: js, branch: trunk, size: 3648 [annotate] [blame] [check-ins using] [diff]

06:00
OFStreamObserver: Take a double as timeout. file: [927bd4e34c] check-in: [3c99aa51da] user: js, branch: trunk, size: 3545 [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. file: [a6a3da0735] check-in: [1255f3a11a] user: js, branch: trunk, size: 3507 [annotate] [blame] [check-ins using] [diff]

2012-07-16
23:49
Add OF_ENSURE.

This is to be used when the condition includes a statement that needs to
be executed, as with assert, this would not be executed anymore when
NDEBUG is defined. file: [17f5ac1ccb] check-in: [417b213d41] user: js, branch: trunk, size: 3496 [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
Don't access isa directly. file: [106a17bb8d] check-in: [8892ae9fcc] user: js, branch: trunk, size: 3493 [annotate] [blame] [check-ins using] [diff]
2012-02-17
16:25
Fix a very bad typo in OFStreamObserver_poll. file: [e0025aa14e] check-in: [e9b0575094] user: js, branch: trunk, size: 3484 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [54e5c68768] check-in: [ce70e17b38] user: js, branch: trunk, size: 3484 [annotate] [blame] [check-ins using] [diff]
2011-10-25
00:02
Always release the pool in -[OFStreamObserver observe].

Per convention, this would not be necessasry. However, a common
use case is to call -[observe] in a loop that never ends, thus
no pool below the one created in -[observe] will ever be released. file: [c610bddecc] check-in: [95fdb174f6] user: js, branch: trunk, size: 3478 [annotate] [blame] [check-ins using] [diff]

2011-09-22
23:25
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. file: [032c6d7a87] check-in: [e1e7ffa903] user: js, branch: trunk, size: 3432 [annotate] [blame] [check-ins using] [diff]

2011-09-20
19:06
Remove useless imports. file: [c77b1b02fd] check-in: [1af1677350] user: js, branch: trunk, size: 3426 [annotate] [blame] [check-ins using] [diff]
18:40
OFStreamObserver improvements.

* Make it possible to close a stream before the add/remove queue has
been processed.
* The actual implementations don't need to handle OFStreams now, but
get the file descriptor instead.
* Use an OFMutex instead of @synchronized. file: [10244167cd] check-in: [47caef4f8a] user: js, branch: trunk, size: 3513 [annotate] [blame] [check-ins using] [diff]

2011-09-19
12:44
Nicer OFStreamObserver API. file: [8b9acbd834] check-in: [c279948fb8] user: js, branch: trunk, size: 3597 [annotate] [blame] [check-ins using] [diff]
12:07
Improve OFStreamObserver. file: [103d3eeb79] check-in: [d3f6cf9293] user: js, branch: trunk, size: 3647 [annotate] [blame] [check-ins using] [diff]
2011-09-17
20:22
Added: Rename OFStream{Poll,Select}Observer to OFStreamObserver_{poll,select}. file: [e529585f5e] check-in: [4d2f08f6fe] user: js, branch: trunk, size: 5018 [annotate] [blame] [check-ins using]