UNPKG

aws-iot-device-sdk-v2

Version:
75 lines (74 loc) 2.59 kB
/// <reference types="node" /> import { EventEmitter } from "events"; import { CrtError, mqtt_request_response } from "aws-crt"; import * as mqtt_request_response_utils from "./mqtt_request_response_utils"; export interface IncomingPublishEvent<T> { message: T; } /** * Signature for a handler that listens to incoming publish events. */ export type IncomingPublishListener<T> = (eventData: IncomingPublishEvent<T>) => void; export interface IncomingPublishErrorEvent { payload: ArrayBuffer; error: ServiceError; } /** * Signature for a handler that listens to incoming publish error events */ export type IncomingPublishErrorListener = (eventData: IncomingPublishErrorEvent) => void; export type SubscriptionStatusEventListener = mqtt_request_response.SubscriptionStatusListener; export declare class StreamingOperation<EventType> extends EventEmitter { private operation; private deserializer; private constructor(); static create<EventType>(config: mqtt_request_response_utils.StreamingOperationConfig): StreamingOperation<EventType>; open(): void; close(): void; /** * Event emitted when the stream's subscription status changes. * * Listener type: {@link mqtt_request_response.SubscriptionStatusListener} * * @event */ static SUBSCRIPTION_STATUS: string; /** * Event emitted when a stream message is received * * Listener type: {@link IncomingPublishListener} * * @event */ static INCOMING_PUBLISH: string; /** * Event emitted when a stream message is received but handling it resulted in an error * * Listener type: {@link IncomingPublishErrorListener} * * @event */ static INCOMING_PUBLISH_ERROR: string; on(event: 'subscriptionStatus', listener: mqtt_request_response.SubscriptionStatusListener): this; on(event: 'incomingPublish', listener: IncomingPublishListener<EventType>): this; on(event: 'incomingPublishError', listener: IncomingPublishErrorListener): this; private onSubscriptionStatusChanged; private onIncomingPublish; } /** * @internal */ interface ServiceErrorOptions { description: string; internalError?: CrtError; modeledError?: any; } export declare class ServiceError extends Error { /** Optional inner/triggering error that can contain additional context. */ readonly internalError?: CrtError; /** Optional service-specific modelled error data */ readonly modeledError?: any; /** @internal */ constructor(options: ServiceErrorOptions); } export {};