fix(server-*): rename message ping & pong body & type
This commit is contained in:
@@ -9,7 +9,7 @@ import type {
|
||||
import type { AuthenticatedPeer, Peer } from './types'
|
||||
|
||||
import { availableLogLevelStrings, Format, LogLevelString, logLevelStringToLogLevelMap, useLogg } from '@guiiai/logg'
|
||||
import { MessageHeartbeat, MessageHeartbeatMark, WebSocketEventSource } from '@proj-airi/server-shared/types'
|
||||
import { MessageHeartbeat, MessageHeartbeatKind, WebSocketEventSource } from '@proj-airi/server-shared/types'
|
||||
import { defineWebSocketHandler, H3 } from 'h3'
|
||||
|
||||
import { optionOrEnv } from './config'
|
||||
@@ -48,6 +48,7 @@ export function setupApp(options?: {
|
||||
}
|
||||
heartbeat?: {
|
||||
readTimeout?: number
|
||||
message?: MessageHeartbeat | string
|
||||
}
|
||||
}): H3 {
|
||||
const authToken = optionOrEnv(options?.auth?.token, 'AUTHENTICATION_TOKEN', '')
|
||||
@@ -67,6 +68,7 @@ export function setupApp(options?: {
|
||||
const peers = new Map<string, AuthenticatedPeer>()
|
||||
const peersByModule = new Map<string, Map<number | undefined, AuthenticatedPeer>>()
|
||||
const heartbeatTtlMs = options?.heartbeat?.readTimeout ?? DEFAULT_HEARTBEAT_TTL_MS
|
||||
const heartbeatMessage = options?.heartbeat?.message ?? MessageHeartbeat.Pong
|
||||
const routingMiddleware = [
|
||||
...(options?.routing?.policy ? [createPolicyMiddleware(options.routing.policy)] : []),
|
||||
...(options?.routing?.middleware ?? []),
|
||||
@@ -168,12 +170,12 @@ export function setupApp(options?: {
|
||||
p.lastHeartbeatAt = Date.now()
|
||||
}
|
||||
|
||||
if (event.data.message === MessageHeartbeat.Ping) {
|
||||
if (event.data.kind === MessageHeartbeatKind.Ping) {
|
||||
send(peer, {
|
||||
type: 'transport:connection:heartbeat',
|
||||
data: {
|
||||
message: MessageHeartbeat.Pong,
|
||||
mark: MessageHeartbeatMark.Pong,
|
||||
kind: MessageHeartbeatKind.Pong,
|
||||
message: heartbeatMessage,
|
||||
at: Date.now(),
|
||||
},
|
||||
source: WebSocketEventSource.Server,
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import type {
|
||||
MessageHeartbeat,
|
||||
MessageHeartbeatMark,
|
||||
MetadataEventSource,
|
||||
WebSocketBaseEvent,
|
||||
WebSocketEvent,
|
||||
@@ -12,6 +10,10 @@ import type {
|
||||
import WebSocket from 'crossws/websocket'
|
||||
|
||||
import { sleep } from '@moeru/std'
|
||||
import {
|
||||
MessageHeartbeat,
|
||||
MessageHeartbeatKind,
|
||||
} from '@proj-airi/server-shared/types'
|
||||
|
||||
export interface ClientOptions<C = undefined> {
|
||||
url?: string
|
||||
@@ -91,7 +93,7 @@ export class Client<C = undefined> {
|
||||
})
|
||||
|
||||
this.onEvent('transport:connection:heartbeat', (event) => {
|
||||
if (event.data.message === MessageHeartbeat.Ping) {
|
||||
if (event.data.kind === MessageHeartbeatKind.Ping) {
|
||||
this.sendHeartbeatPong()
|
||||
}
|
||||
})
|
||||
@@ -358,8 +360,8 @@ export class Client<C = undefined> {
|
||||
this.send({
|
||||
type: 'transport:connection:heartbeat',
|
||||
data: {
|
||||
kind: MessageHeartbeatKind.Ping,
|
||||
message: this.opts.heartbeat?.message ?? MessageHeartbeat.Ping,
|
||||
mark: MessageHeartbeatMark.Ping,
|
||||
at: Date.now(),
|
||||
},
|
||||
})
|
||||
@@ -370,8 +372,8 @@ export class Client<C = undefined> {
|
||||
this.send({
|
||||
type: 'transport:connection:heartbeat',
|
||||
data: {
|
||||
kind: MessageHeartbeatKind.Pong,
|
||||
message: MessageHeartbeat.Pong,
|
||||
mark: MessageHeartbeatMark.Pong,
|
||||
at: Date.now(),
|
||||
},
|
||||
})
|
||||
|
||||
@@ -35,12 +35,12 @@ export interface RouteConfig {
|
||||
bypass?: boolean
|
||||
}
|
||||
|
||||
export enum MessageHeartbeat {
|
||||
export enum MessageHeartbeatKind {
|
||||
Ping = 'ping',
|
||||
Pong = 'pong',
|
||||
}
|
||||
|
||||
export enum MessageHeartbeatMark {
|
||||
export enum MessageHeartbeat {
|
||||
Ping = '🩵',
|
||||
Pong = '💛',
|
||||
}
|
||||
@@ -287,8 +287,8 @@ export interface WebSocketEvents<C = undefined> {
|
||||
}
|
||||
|
||||
'transport:connection:heartbeat': {
|
||||
kind: MessageHeartbeatKind
|
||||
message: MessageHeartbeat | string
|
||||
mark?: '🩵' | '💛'
|
||||
at?: number
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user