@foxglove/rosbag2
Version:
ROS 2 (Robot Operating System) bag reader and writer abstract implementation
68 lines • 1.73 kB
TypeScript
import { Duration, Time } from "@foxglove/rostime";
export declare enum QosPolicyDurability {
SystemDefault = 0,
TransientLocal = 1,
Volatile = 2,
Unknown = 3
}
export declare enum QosPolicyHistory {
SystemDefault = 0,
KeepLast = 1,
KeepAll = 2,
Unknown = 3
}
export declare enum QosPolicyLiveliness {
SystemDefault = 0,
Automatic = 1,
ManualByTopic = 3,
Unknown = 4
}
export declare enum QosPolicyReliability {
SystemDefault = 0,
Reliable = 1,
BestEffort = 2,
Unknown = 3
}
export type Message = {
topic: Readonly<TopicDefinition>;
timestamp: Time;
data: Uint8Array;
value: unknown;
};
export type MessageReadOptions = {
topics?: string[];
startTime?: Time;
endTime?: Time;
rawMessages?: boolean;
};
export type QosProfile = {
history: QosPolicyHistory;
depth: number;
reliability: QosPolicyReliability;
durability: QosPolicyDurability;
deadline?: Duration;
lifespan?: Duration;
liveliness: QosPolicyLiveliness;
livelinessLeaseDuration?: Duration;
avoidRosNamespaceConventions: boolean;
};
export type TopicDefinition = {
name: string;
type: string;
serializationFormat: "cdr" | string;
offeredQosProfiles: QosProfile[];
};
export type RawMessage = {
topic: Readonly<TopicDefinition>;
timestamp: Time;
data: Uint8Array;
};
export interface SqliteDb {
open(): Promise<void>;
close(): Promise<void>;
readTopics(): Promise<TopicDefinition[]>;
readMessages(opts: MessageReadOptions): AsyncIterableIterator<RawMessage>;
timeRange(): Promise<[min: Time, max: Time]>;
messageCounts(): Promise<Map<string, number>>;
}
//# sourceMappingURL=types.d.ts.map