ObjFW
 All Classes Functions Variables
Instance Methods | Class Methods | List of all members
OFStreamObserver Class Reference

A class that can observe multiple streams at once. More...

#import <OFStreamObserver.h>

Inheritance diagram for OFStreamObserver:
OFObject <OFObject>

Instance Methods

(id< OFStreamObserverDelegate >) - delegate
 Returns the delegate for the OFStreamObserver.
 
(void) - setDelegate:
 Sets the delegate for the OFStreamObserver.
 
(void) - addStreamForReading:
 Adds a stream to observe for reading.
 
(void) - addStreamForWriting:
 Adds a stream to observe for writing.
 
(void) - removeStreamForReading:
 Removes a stream to observe for reading.
 
(void) - removeStreamForWriting:
 Removes a stream to observe for writing.
 
(void) - observe
 Observes all streams and blocks until an event happens on a stream.
 
(BOOL) - observeWithTimeout:
 Observes all streams until an event happens on a stream or the timeout is reached.
 
(void) - cancel
 Cancels the currently blocking observe call.
 
- Instance Methods inherited from OFObject
(id) - init
 Initializes an already allocated object.
 
(OFString *) - className
 Returns the name of the object's class.
 
(OFString *) - description
 Returns a description for the object.
 
(void *) - allocMemoryWithSize:
 Allocates memory and stores it in the object's memory pool.
 
(void *) - allocMemoryWithSize:count:
 Allocates memory for the specified number of items and stores it in the object's memory pool.
 
(void *) - resizeMemory:size:
 Resizes memory in the object's memory pool to the specified size.
 
(void *) - resizeMemory:size:count:
 Resizes memory in the object's memory pool to the specific number of items of the specified size.
 
(void) - freeMemory:
 Frees allocated memory and removes it from the object's memory pool.
 
(void) - dealloc
 Deallocates the object.
 
(void) - performSelector:afterDelay:
 Performs the specified selector after the specified delay.
 
(void) - performSelector:withObject:afterDelay:
 Performs the specified selector with the specified object after the specified delay.
 
(void) - performSelector:withObject:withObject:afterDelay:
 Performs the specified selector with the specified objects after the specified delay.
 
(void) - performSelector:onThread:waitUntilDone:
 Performs the specified selector on the specified thread.
 
(void) - performSelector:onThread:withObject:waitUntilDone:
 Performs the specified selector on the specified thread with the specified object.
 
(void) - performSelector:onThread:withObject:withObject:waitUntilDone:
 Performs the specified selector on the specified thread with the specified objects.
 
(void) - performSelectorOnMainThread:waitUntilDone:
 Performs the specified selector on the main thread.
 
(void) - performSelectorOnMainThread:withObject:waitUntilDone:
 Performs the specified selector on the main thread with the specified object.
 
(void) - performSelectorOnMainThread:withObject:withObject:waitUntilDone:
 Performs the specified selector on the main thread with the specified objects.
 
(void) - performSelector:onThread:afterDelay:
 Performs the specified selector on the specified thread after the specified delay.
 
(void) - performSelector:onThread:withObject:afterDelay:
 Performs the specified selector on the specified thread with the specified object after the specified delay.
 
(void) - performSelector:onThread:withObject:withObject:afterDelay:
 Performs the specified selector on the specified thread with the specified objects after the specified delay.
 
(OFString *) - stringBySerializing
 Creates a string by serializing the receiver.
 
- Instance Methods inherited from <OFObject>
(BOOL) - isKindOfClass:
 Returns a boolean whether the object of the specified kind.
 
(BOOL) - isMemberOfClass:
 Returns a boolean whether the object is a member of the specified class.
 
(BOOL) - respondsToSelector:
 Returns a boolean whether the object responds to the specified selector.
 
(IMP) - methodForSelector:
 Returns the implementation for the specified selector.
 
(const char *) - typeEncodingForSelector:
 Returns the type encoding for the specified selector.
 
(id) - performSelector:
 Performs the specified selector.
 
(id) - performSelector:withObject:
 Performs the specified selector with the specified object.
 
(id) - performSelector:withObject:withObject:
 Performs the specified selector with the specified objects.
 
(BOOL) - isEqual:
 Checks two objects for equality.
 
(uint32_t) - hash
 Calculates a hash for the object.
 
(id) - retain
 Increases the retain count.
 
(unsigned int) - retainCount
 Returns the retain count.
 
(void) - release
 Decreases the retain count.
 
(id) - autorelease
 Adds the object to the topmost OFAutoreleasePool of the thread's autorelease pool stack.
 
(id) - self
 Returns the receiver.
 
(BOOL) - isProxy
 Returns whether the object is a proxy object.
 

Class Methods

(instancetype) + observer
 Creates a new OFStreamObserver.
 
- Class Methods inherited from OFObject
(void) + load
 A method which is called once when the class is loaded into the runtime.
 
(void) + initialize
 A method which is called the moment before the first call to the class is being made.
 
(id) + alloc
 Allocates memory for an instance of the class and sets up the memory pool for the object.
 
(id) + new
 Allocates memory for a new instance and calls -[init] on it.
 
(Class) + class
 Returns the class.
 
(OFString *) + className
 Returns the name of the class as a string.
 
(BOOL) + isSubclassOfClass:
 Returns a boolean whether the class is a subclass of the specified class.
 
(Class) + superclass
 Returns the superclass of the class.
 
(BOOL) + instancesRespondToSelector:
 Checks whether instances of the class respond to a given selector.
 
(BOOL) + conformsToProtocol:
 Checks whether the class conforms to a given protocol.
 
(IMP) + instanceMethodForSelector:
 Returns the implementation of the instance method for the specified selector.
 
(const char *) + typeEncodingForInstanceSelector:
 Returns the type encoding of the instance method for the specified selector.
 
(OFString *) + description
 Returns a description for the class, which is usually the class name.
 
(IMP) + replaceClassMethod:withMethodFromClass:
 Replaces a class method with a class method from another class.
 
(IMP) + replaceInstanceMethod:withMethodFromClass:
 Replaces an instance method with an instance method from another class.
 
(IMP) + replaceClassMethod:withImplementation:typeEncoding:
 Replaces or adds a class method.
 
(IMP) + replaceInstanceMethod:withImplementation:typeEncoding:
 Replaces or adds an instance method.
 
(void) + inheritMethodsFromClass:
 Adds all methods from the specified class to the class that is the receiver.
 
(BOOL) + resolveClassMethod:
 Try to resolve the specified class method.
 
(BOOL) + resolveInstanceMethod:
 Try to resolve the specified instance method.
 

Additional Inherited Members

- Public Attributes inherited from OFObject
Class isa
 The class of the object.
 

Detailed Description

A class that can observe multiple streams at once.

Note: Currently, Win32 can only observe sockets and not files!

Method Documentation

- (void) addStreamForReading: (OFStream*)  stream

Adds a stream to observe for reading.

This is also used to observe a listening socket for incoming connections, which then triggers a read event for the observed stream.

It is recommended that the stream you add is set to non-blocking mode.

If there is an -[observe] call blocking, it will be canceled. The reason for this is to prevent blocking even though the new added stream is ready.

Parameters
streamThe stream to observe for reading
- (void) addStreamForWriting: (OFStream*)  stream

Adds a stream to observe for writing.

It is recommended that the stream you add is set to non-blocking mode.

If there is an -[observe] call blocking, it will be canceled. The reason for this is to prevent blocking even though the new added stream is ready.

Parameters
streamThe stream to observe for writing
- (void) cancel

Cancels the currently blocking observe call.

This is automatically done when a new stream is added or removed by another thread, but in some circumstances, it might be desirable for a thread to manually stop the observe running in another thread.

- (id <OFStreamObserverDelegate>) delegate

Returns the delegate for the OFStreamObserver.

Returns
The delegate for the OFStreamObserver
+ (instancetype) observer

Creates a new OFStreamObserver.

Returns
A new, autoreleased OFStreamObserver
- (BOOL) observeWithTimeout: (double)  timeout

Observes all streams until an event happens on a stream or the timeout is reached.

Parameters
timeoutThe time to wait for an event, in seconds
Returns
A boolean whether events occurred during the timeinterval
- (void) removeStreamForReading: (OFStream*)  stream

Removes a stream to observe for reading.

If there is an -[observe] call blocking, it will be canceled. The reason for this is to prevent the removed stream from still being observed.

Parameters
streamThe stream to remove from observing for reading
- (void) removeStreamForWriting: (OFStream*)  stream

Removes a stream to observe for writing.

If there is an -[observe] call blocking, it will be canceled. The reason for this is to prevent the removed stream from still being observed.

Parameters
streamThe stream to remove from observing for writing
- (void) setDelegate: (id <OFStreamObserverDelegate>)  delegate

Sets the delegate for the OFStreamObserver.

Parameters
delegateThe delegate for the OFStreamObserver

The documentation for this class was generated from the following files: