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])

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])

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


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