mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-28 07:14:40 +08:00
chore(types): consolidate traffic monitor types into shared globals
This commit is contained in:
@@ -12,10 +12,7 @@ import {
|
||||
} from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import {
|
||||
useTrafficGraphDataEnhanced,
|
||||
type ITrafficDataPoint,
|
||||
} from "@/hooks/use-traffic-monitor";
|
||||
import { useTrafficGraphDataEnhanced } from "@/hooks/use-traffic-monitor";
|
||||
import { debugLog } from "@/utils/debug";
|
||||
import parseTraffic from "@/utils/parse-traffic";
|
||||
|
||||
|
||||
@@ -8,18 +8,9 @@ import {
|
||||
} from "react";
|
||||
import { Traffic } from "tauri-plugin-mihomo-api";
|
||||
|
||||
import type {
|
||||
ISamplerStats,
|
||||
ITrafficDataPoint,
|
||||
ITrafficWorkerSnapshotMessage,
|
||||
TrafficWorkerRequestMessage,
|
||||
TrafficWorkerResponseMessage,
|
||||
} from "@/types/traffic-monitor";
|
||||
import { debugLog } from "@/utils/debug";
|
||||
import { TrafficDataSampler, formatTrafficName } from "@/utils/traffic-sampler";
|
||||
|
||||
export type { ITrafficDataPoint } from "@/types/traffic-monitor";
|
||||
|
||||
// 引用计数管理器
|
||||
class ReferenceCounter {
|
||||
private count = 0;
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
import type {
|
||||
ISamplingConfig,
|
||||
ITrafficDataPoint,
|
||||
ITrafficWorkerSnapshotMessage,
|
||||
TrafficWorkerRequestMessage,
|
||||
} from "../types/traffic-monitor";
|
||||
import {
|
||||
TrafficDataSampler,
|
||||
formatTrafficName,
|
||||
|
||||
83
src/types/types.d.ts → src/types/global.d.ts
vendored
83
src/types/types.d.ts → src/types/global.d.ts
vendored
@@ -906,3 +906,86 @@ interface IWebDavConfig {
|
||||
username: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
// Traffic monitor types
|
||||
interface ITrafficDataPoint {
|
||||
up: number;
|
||||
down: number;
|
||||
timestamp: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
interface ISamplingConfig {
|
||||
rawDataMinutes: number;
|
||||
compressedDataMinutes: number;
|
||||
compressionRatio: number;
|
||||
}
|
||||
|
||||
interface ISamplerStats {
|
||||
rawBufferSize: number;
|
||||
compressedBufferSize: number;
|
||||
compressionQueueSize: number;
|
||||
totalMemoryPoints: number;
|
||||
}
|
||||
|
||||
interface ITrafficWorkerInitMessage {
|
||||
type: "init";
|
||||
config: ISamplingConfig & {
|
||||
snapshotIntervalMs: number;
|
||||
defaultRangeMinutes: number;
|
||||
};
|
||||
}
|
||||
|
||||
interface ITrafficWorkerAppendMessage {
|
||||
type: "append";
|
||||
payload: {
|
||||
up: number;
|
||||
down: number;
|
||||
timestamp?: number;
|
||||
};
|
||||
}
|
||||
|
||||
interface ITrafficWorkerClearMessage {
|
||||
type: "clear";
|
||||
}
|
||||
|
||||
interface ITrafficWorkerSetRangeMessage {
|
||||
type: "setRange";
|
||||
minutes: number;
|
||||
}
|
||||
|
||||
interface ITrafficWorkerRequestSnapshotMessage {
|
||||
type: "requestSnapshot";
|
||||
}
|
||||
|
||||
type TrafficWorkerRequestMessage =
|
||||
| ITrafficWorkerInitMessage
|
||||
| ITrafficWorkerAppendMessage
|
||||
| ITrafficWorkerClearMessage
|
||||
| ITrafficWorkerSetRangeMessage
|
||||
| ITrafficWorkerRequestSnapshotMessage;
|
||||
|
||||
interface ITrafficWorkerSnapshotMessage {
|
||||
type: "snapshot";
|
||||
dataPoints: ITrafficDataPoint[];
|
||||
availableDataPoints: ITrafficDataPoint[];
|
||||
samplerStats: ISamplerStats;
|
||||
rangeMinutes: number;
|
||||
lastTimestamp?: number;
|
||||
reason:
|
||||
| "init"
|
||||
| "interval"
|
||||
| "range-change"
|
||||
| "request"
|
||||
| "append-throttle"
|
||||
| "clear";
|
||||
}
|
||||
|
||||
interface ITrafficWorkerLogMessage {
|
||||
type: "log";
|
||||
message: string;
|
||||
}
|
||||
|
||||
type TrafficWorkerResponseMessage =
|
||||
| ITrafficWorkerSnapshotMessage
|
||||
| ITrafficWorkerLogMessage;
|
||||
@@ -1,81 +0,0 @@
|
||||
export interface ITrafficDataPoint {
|
||||
up: number;
|
||||
down: number;
|
||||
timestamp: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface ISamplingConfig {
|
||||
rawDataMinutes: number;
|
||||
compressedDataMinutes: number;
|
||||
compressionRatio: number;
|
||||
}
|
||||
|
||||
export interface ISamplerStats {
|
||||
rawBufferSize: number;
|
||||
compressedBufferSize: number;
|
||||
compressionQueueSize: number;
|
||||
totalMemoryPoints: number;
|
||||
}
|
||||
|
||||
export interface ITrafficWorkerInitMessage {
|
||||
type: "init";
|
||||
config: ISamplingConfig & {
|
||||
snapshotIntervalMs: number;
|
||||
defaultRangeMinutes: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ITrafficWorkerAppendMessage {
|
||||
type: "append";
|
||||
payload: {
|
||||
up: number;
|
||||
down: number;
|
||||
timestamp?: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ITrafficWorkerClearMessage {
|
||||
type: "clear";
|
||||
}
|
||||
|
||||
export interface ITrafficWorkerSetRangeMessage {
|
||||
type: "setRange";
|
||||
minutes: number;
|
||||
}
|
||||
|
||||
export interface ITrafficWorkerRequestSnapshotMessage {
|
||||
type: "requestSnapshot";
|
||||
}
|
||||
|
||||
export type TrafficWorkerRequestMessage =
|
||||
| ITrafficWorkerInitMessage
|
||||
| ITrafficWorkerAppendMessage
|
||||
| ITrafficWorkerClearMessage
|
||||
| ITrafficWorkerSetRangeMessage
|
||||
| ITrafficWorkerRequestSnapshotMessage;
|
||||
|
||||
export interface ITrafficWorkerSnapshotMessage {
|
||||
type: "snapshot";
|
||||
dataPoints: ITrafficDataPoint[];
|
||||
availableDataPoints: ITrafficDataPoint[];
|
||||
samplerStats: ISamplerStats;
|
||||
rangeMinutes: number;
|
||||
lastTimestamp?: number;
|
||||
reason:
|
||||
| "init"
|
||||
| "interval"
|
||||
| "range-change"
|
||||
| "request"
|
||||
| "append-throttle"
|
||||
| "clear";
|
||||
}
|
||||
|
||||
export interface ITrafficWorkerLogMessage {
|
||||
type: "log";
|
||||
message: string;
|
||||
}
|
||||
|
||||
export type TrafficWorkerResponseMessage =
|
||||
| ITrafficWorkerSnapshotMessage
|
||||
| ITrafficWorkerLogMessage;
|
||||
@@ -1,9 +1,3 @@
|
||||
import type {
|
||||
ISamplerStats,
|
||||
ISamplingConfig,
|
||||
ITrafficDataPoint,
|
||||
} from "@/types/traffic-monitor";
|
||||
|
||||
interface ICompressedDataPoint {
|
||||
up: number;
|
||||
down: number;
|
||||
|
||||
Reference in New Issue
Block a user