playactor
Version:
play around with your playstation devices
37 lines (36 loc) • 1.73 kB
TypeScript
/// <reference types="node" />
import dgram from "dgram";
import { DiscoveryVersion, IDiscoveryNetwork, IDiscoveryNetworkFactory, INetworkConfig, OnDeviceDiscoveredHandler, OnDiscoveryMessageHandler } from "./model";
declare class UdpSocketManager {
private readonly sockets;
acquire(port: number): {
socket: dgram.Socket;
isNew?: undefined;
} | {
socket: dgram.Socket;
isNew: boolean;
};
release(port: number): void;
}
export declare class UdpDiscoveryNetwork implements IDiscoveryNetwork {
private readonly socketManager;
private readonly boundPort;
private readonly socket;
private readonly port;
private readonly version;
constructor(socketManager: UdpSocketManager, boundPort: number, socket: dgram.Socket, port: number, version: DiscoveryVersion);
close(): void;
ping(deviceIp?: string): Promise<void>;
send(recipientAddress: string, recipientPort: number, type: string, data?: Record<string, unknown>): Promise<void>;
sendBuffer(recipientAddress: string, recipientPort: number, message: Buffer): Promise<void>;
}
export declare class UdpDiscoveryNetworkFactory implements IDiscoveryNetworkFactory {
private readonly port;
private readonly version;
private readonly socketManager;
constructor(port: number, version: DiscoveryVersion, socketManager?: UdpSocketManager);
createMessages(config: INetworkConfig, onMessage: OnDiscoveryMessageHandler): UdpDiscoveryNetwork;
createRawMessages(config: INetworkConfig, onMessage: (buffer: Buffer, rinfo: dgram.RemoteInfo) => void): UdpDiscoveryNetwork;
createDevices(config: INetworkConfig, onDevice: OnDeviceDiscoveredHandler): UdpDiscoveryNetwork;
}
export {};