import { createRequire } from "node:module"; const net = createRequire(import.meta.url)("net"); const buffer = Buffer.from("Hello World!"); var counter = 0; const handlers = { open() { if (!socket.data?.isServer) { if (!this.write(buffer)) { socket.data = { pending: buffer }; } } }, data(buffer) { if (!this.write(buffer)) { this.data = { pending: buffer.slice() }; return; } counter++; }, drain() { const pending = this.data?.pending; if (!pending) return; if (this.write(pending)) { this.data = undefined; counter++; return; } }, }; if (process.env.IS_SERVER) { if (net.createServer) { const server = net.createServer(function (socket) { socket.data = { isServer: true }; socket.on("connection", handlers.open.bind(socket)); socket.on("data", handlers.data.bind(socket)); socket.on("drain", handlers.drain.bind(socket)); socket.setEncoding("binary"); }); setInterval(() => { console.log("Wrote", counter, "messages"); counter = 0; }, 1000); server.listen(8000); } else { const handlers = { open(socket) { if (!socket.data?.isServer) { if (!socket.write(msg)) { socket.data = { pending: msg }; } } }, data(socket, buffer) { if (!socket.write(buffer)) { socket.data = { pending: buffer }; return; } counter++; }, drain(socket) { const pending = socket.data?.pending; if (!pending) return; if (socket.write(pending)) { socket.data = undefined; counter++; return; } }, }; setInterval(() => { console.log("Wrote", counter, "messages"); counter = 0; }, 1000); const server = Bun.listen({ socket: handlers, hostname: "0.0.0.0", port: 8000, data: { isServer: true, }, }); } } else { const socket = net.connect({ host: "0.0.0.0", port: 8000 }, () => {}); socket.on("connection", handlers.open.bind(socket)); socket.on("data", handlers.data.bind(socket)); socket.on("drain", handlers.drain.bind(socket)); socket.setEncoding("binary"); socket.write(buffer); } dave/bundler-string-length Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/web-globals.test.js (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2023-10-17Add JSC.WeakGravatar Jarred Sumner 2-0/+293
2023-10-15more microtasksGravatar Jarred Sumner 1-11/+5
2023-10-15It's starting to workGravatar Jarred Sumner 6-49/+89
2023-10-15Things can happenGravatar Jarred Sumner 9-53/+150
2023-10-15FurtherGravatar Jarred Sumner 1-20/+30
2023-10-15The startup message sends successfullyGravatar Jarred Sumner 4-96/+130
2023-10-15it compiledGravatar Jarred Sumner 2-158/+238
2023-10-15okay we are starting to try itGravatar Jarred Sumner 4-9/+43
2023-10-15Okay most of the code is writtenGravatar Jarred Sumner 3-29/+398
2023-10-14MoreGravatar Jarred Sumner 7-66/+504
2023-10-14wipGravatar Jarred Sumner 8-16/+1194
2023-10-14More progressGravatar Jarred Sumner 4-36/+405
2023-10-13wipGravatar Jarred Sumner 8-48/+308