mulocal-socket
Version:
Local socket emulation for mudb
23 lines (18 loc) • 722 B
text/typescript
import { MuSessionId } from 'mudb/socket';
import { MuLocalSocket, MuLocalSocketServer } from './server-socket';
export function createLocalSocketServer () : MuLocalSocketServer {
return new MuLocalSocketServer();
}
export function createLocalSocket (spec:{
sessionId:MuSessionId;
server:MuLocalSocketServer;
}) : MuLocalSocket {
const server = spec.server;
// manually spawn and relate sockets on both sides
const clientSocket = new MuLocalSocket(spec.sessionId, server);
const serverSocket = new MuLocalSocket(spec.sessionId, server);
clientSocket._duplex = serverSocket;
serverSocket._duplex = clientSocket;
server._handleConnection(serverSocket);
return clientSocket;
}