Skip to content

Commit

Permalink
refactor: continuationPointManager
Browse files Browse the repository at this point in the history
  • Loading branch information
erossignon committed Oct 23, 2021
1 parent 8556f95 commit c2e0c78
Show file tree
Hide file tree
Showing 18 changed files with 462 additions and 353 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { NumericRange } from "node-opcua-numeric-range";
import { QualifiedNameLike } from "node-opcua-data-model";

import { UAVariable } from "./ua_variable";
import { ContinuationStuff, ISessionContext } from "./session_context";
import { ContinuationData, ISessionContext } from "./session_context";
import { ContinuationPoint } from "./continuation_point";

export type VariableSetterVariation1 = (this: UAVariable, value: Variant) => StatusCode;
Expand All @@ -29,7 +29,7 @@ export type HistoryReadFunc = (
historyReadDetails: ReadRawModifiedDetails | ReadEventDetails | ReadProcessedDetails | ReadAtTimeDetails,
indexRange: NumericRange | null,
dataEncoding: QualifiedNameLike | null,
continuationData: ContinuationStuff,
continuationData: ContinuationData,
callback: CallbackT<HistoryReadResult>
) => void;

Expand Down
29 changes: 14 additions & 15 deletions packages/node-opcua-address-space-base/source/session_context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,12 @@ export interface IChannelBase {
securityPolicy: string;
}

export interface IContinuationPointInfo {
continuationPoint?: ContinuationPoint;
}
export interface IContinuationPointInfo2 extends IContinuationPointInfo {
dataValues?: DataValue[];
continuationPoint?: ContinuationPoint;
export interface IContinuationPointInfo<T> {
values: T[] | null;
continuationPoint: ContinuationPoint | undefined;
statusCode: StatusCode;
}

export interface ContinuationStuff {
export interface ContinuationData {
continuationPoint: ContinuationPoint | null;
releaseContinuationPoints?: boolean;
index?: number;
Expand All @@ -35,14 +31,17 @@ export interface IContinuationPointManager {
//
registerHistoryReadRaw(
maxElements: number,
dataValues: DataValue[],
continuationData: ContinuationStuff
): IContinuationPointInfo2;
getNextHistoryReadRaw(numValues: number, continuationData: ContinuationStuff): IContinuationPointInfo2;
values: DataValue[],
continuationData: ContinuationData
): IContinuationPointInfo<DataValue>;
getNextHistoryReadRaw(numValues: number, continuationData: ContinuationData): IContinuationPointInfo<DataValue>;
//
register(maxElements: number, values: ReferenceDescription[]): IContinuationPointInfo;
getNext(continuationPoint: ContinuationPoint): IContinuationPointInfo;
cancel(continuationPoint: ContinuationPoint): IContinuationPointInfo;
registerReferences(
maxElements: number,
values: ReferenceDescription[],
continuationData: ContinuationData
): IContinuationPointInfo<ReferenceDescription>;
getNextReferences(numValues: number, continuationData: ContinuationData): IContinuationPointInfo<ReferenceDescription>;
}

export interface ISessionBase {
Expand Down
6 changes: 3 additions & 3 deletions packages/node-opcua-address-space-base/source/ua_variable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import { ISessionContext } from "./session_context";
import { UADataType } from "./ua_data_type";
import { UAVariableType } from "./ua_variable_type";
import { BindVariableOptions, DataValueCallback } from "./namespace";
import { ContinuationStuff } from ".";
import { ContinuationData } from ".";

export interface IVariableHistorian {
/**
Expand Down Expand Up @@ -349,7 +349,7 @@ export interface UAVariable extends BaseNode, VariableAttributes, IPropertyAndCo
| ReadAtTimeDetails,
indexRange: NumericRange | null,
dataEncoding: QualifiedNameLike | null,
continuationData: ContinuationStuff
continuationData: ContinuationData
): Promise<HistoryReadResult>;

historyRead(
Expand All @@ -362,7 +362,7 @@ export interface UAVariable extends BaseNode, VariableAttributes, IPropertyAndCo
| ReadAtTimeDetails,
indexRange: NumericRange | null,
dataEncoding: QualifiedNameLike | null,
continuationData: ContinuationStuff,
continuationData: ContinuationData,
callback: CallbackT<HistoryReadResult>
): void;

Expand Down

0 comments on commit c2e0c78

Please sign in to comment.