Class: FetchStream

FetchStream

new FetchStream()

Provides a stream of topic values for a given fetch request.

FetchStream inherits all functions defined on Stream.


Fires:
Example
// Handle all events from stream
session.fetch("foo").on({
    open : function() {
        // Fetch stream has opened, values will be emitted after this event.
    },
    value : function(value, topicPath) {
        // Received topic value
    },
    error : function(err) {
        // Encountered an error
    },
    close : function() {
        // Fetch stream closed; no more values will be received
    }
});

Extends

Methods

close()

Close the stream. This will emit a 'close' event to any assigned listeners. No further events will be emitted.
Inherited From:

off(event, listener) → {Stream}

Remove a listener from a specified event.
Parameters:
Name Type Argument Description
event String The event to remove listeners from
listener function <optional>
The listener to remove. All listeners for the event are removed if this is not specified
Inherited From:
Returns:
This stream.
Type
Stream
Examples
// Bind a single listener to the 'foo' event and then deregister it
var listener = function() {};
stream.on('foo', listener);
stream.off('foo', listener);
// Bind a listener to the 'foo' event and deregister all listeners
var listener = function() {};
stream.on('foo', listener);
stream.off('foo');

on(events, listener) → {Stream}

Register listeners against events.

A single listener may be bound to an event by passing the event name and listener function.

Multiple listeners may be bound by passing in an object, mapping event names to listener functions.

Parameters:
Name Type Argument Description
events String | Object The event name or object mapping event names to listeners
listener function <optional>
The listener to bind to the event, if passed as string.
Inherited From:
Returns:
This stream.
Type
Stream
Examples
// Bind a single listener to the 'foo' event
stream.on('foo', function(arg1, arg2) {
    console.log("Called for 'foo' event", arg1, arg2);
});
// Bind multiple listeners
stream.on({
    foo : function() { ... },
    bar : function() { ... },
    baz : function() { ... }
});

Events

close

Emitted when the Stream has been closed through completion or the underlying session has been closed. No further events will be emitted after this.
Inherited From:

error

Emitted when an error occurs in the Stream or in any of its listeners. No further events will be emitted after this.
Properties:
Name Type Description
error Error the error that occurred
Inherited From:

open

Emitted when the fetch stream is initially opened. This will only be fired once.

value

Emitted when a topic that is selected by the fetch request's topic selector has returned its value. By default, values are provided as Buffer instances. The topic path specifies which topic this value is for.
Properties:
Name Type Description
value Buffer the new value of the topic
topicPath String the path to the topic to which the value update applies