import { resolve } from "path"; import Tinypool from "tinypool"; import type { UDPReceiveProcotol, UDPSendProtocol } from "./udpProtocol"; type UDPDataType = { address: string, data: ( UDPSendProtocol.CmdPackage | UDPSendProtocol.DataPackage | UDPReceiveProcotol.ReadPackage | UDPReceiveProcotol.WritePackage ), port: number, date?: string, } const udpClientsPool = new Tinypool({ filename: resolve(__dirname, "./udpClient.ts"), workerData: {} }) const udpServer = new Tinypool({ filename: resolve(__dirname, "./udpServer.ts"), workerData: {}, maxThreads: 1, minThreads: 1, }) async function udpServerPort(): Promise { return udpServer.run(null, { name: "port" }) } async function uploadBitStream(): Promise { let ret = await udpClientsPool.run({} as UDPDataType, { name: "send" }) return ret } export { udpServerPort, uploadBitStream } export type { UDPDataType }