GRPC Objective-C  1.71.0
Class Methods
GRXImmediateWriter Class Reference

Utility to construct GRXWriter instances from values that are immediately available when required. More...

#import <GRXImmediateWriter.h>

Class Methods

(GRXWriter *) + writerWithEnumerator:
 Returns a writer that pulls values from the passed NSEnumerator instance and pushes them to its writeable. More...
 
(GRXWriter *) + writerWithValueSupplier:
 Returns a writer that pushes to its writeable the successive values returned by the passed block. More...
 
(GRXWriter *) + writerWithContainer:
 Returns a writer that iterates over the values of the passed container and pushes them to its writeable. More...
 
(GRXWriter *) + writerWithValue:
 Returns a writer that sends the passed value to its writeable and then finishes (releasing the value). More...
 
(GRXWriter *) + writerWithError:
 Returns a writer that, as part of its start method, sends the passed error to the writeable (then releasing the error). More...
 
(GRXWriter *) + emptyWriter
 Returns a writer that, as part of its start method, finishes immediately without sending any values to its writeable. More...
 

Additional Inherited Members

- Instance Methods inherited from GRXWriter
(void) - startWithWriteable:
 Transition to the Started state, and start sending messages to the writeable (a reference to it is retained). More...
 
(void) - finishWithError:
 Send writesFinishedWithError:errorOrNil to the writeable. More...
 
(GRXWriter *) - map:
 Returns a writer that wraps the receiver, and has all the values the receiver would write transformed by the provided mapping function. More...
 
- Properties inherited from GRXWriter
GRXWriterState state
 This property can be used to query the current state of the writer, which determines how it might currently use its writeable. More...
 

Detailed Description

Utility to construct GRXWriter instances from values that are immediately available when required.

Thread-safety:

An object of this class shouldn't be messaged concurrently by more than one thread. It will start messaging the writeable before |startWithWriteable:| returns, in the same thread. That is the only place where the writer can be paused or stopped prematurely.

If a paused writer of this class is resumed, it will start messaging the writeable, in the same thread, before |setState:| returns. Because the object can't be legally accessed concurrently, that's the only place where it can be paused again (or stopped).

Method Documentation

◆ emptyWriter

+ (GRXWriter *) emptyWriter

Returns a writer that, as part of its start method, finishes immediately without sending any values to its writeable.

Implements GRXWriter.

◆ writerWithContainer:

+ (GRXWriter *) writerWithContainer: (id< NSFastEnumeration >)  container

Returns a writer that iterates over the values of the passed container and pushes them to its writeable.

The container is released when the iteration is over.

Note that the usual speed gain of NSFastEnumeration over NSEnumerator results from not having to call one method per element. Because GRXWriteable instances accept values one by one, that speed gain doesn't happen here.

Implements GRXWriter.

◆ writerWithEnumerator:

+ (GRXWriter *) writerWithEnumerator: (NSEnumerator *)  enumerator

Returns a writer that pulls values from the passed NSEnumerator instance and pushes them to its writeable.

The NSEnumerator is released when it finishes.

Implements GRXWriter.

◆ writerWithError:

+ (GRXWriter *) writerWithError: (NSError *)  error

Returns a writer that, as part of its start method, sends the passed error to the writeable (then releasing the error).

Implements GRXWriter.

◆ writerWithValue:

+ (GRXWriter *) writerWithValue: (id)  value

Returns a writer that sends the passed value to its writeable and then finishes (releasing the value).

Implements GRXWriter.

Implemented in GRXImmediateSingleWriter.

◆ writerWithValueSupplier:

+ (GRXWriter *) writerWithValueSupplier: (id(^)(void))  block

Returns a writer that pushes to its writeable the successive values returned by the passed block.

When the block first returns nil, it is released.

Implements GRXWriter.


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