Cloakroom Smart Buffer Proxy demo program

node v10.24.1
version: master
endpointsharetweet
This demonstrates a basic usage of `cloakroom-smart-buffer-proxy` (`Cloakroom` from here on out), a module designed to reduce the number of repeated lookup operations carried out against a Node.js Buffer.
The demo below demonstrates an instance of `Cloakroom` with a size of 10. In order, it: appends five tickets to an empty instance acquires tickets (ticket1 and ticket2) for the first and last items resolves and displays ticket1 and ticket2 which resolve to 65, 69 (respectively) appends another five tickets to proxy resolves and displays ticket1 and ticket2 which resolve to 65, 69 (respectively) acquires tickets (ticket3 and ticket4) for the first and last items resolves and displays ticket3 and ticket4 which resolve to 97, 69 (respectively) appends another ticket to proxy resolves and displays ticket1, ticket2, ticket3 and ticket4 which resolve to 65, null, 97, null (respectively)
const { Proxy } = require('cloakroom-smart-buffer-proxy'); // An instance of Proxy with a set length of 10 const proxy = new Proxy(10); proxy.append(Buffer.from([69, 68, 67, 66, 65])); console.log(proxy.getReadOnlyBuffer()); // [69, 68, 67, 66, 65] const ticket1 = proxy.createTicket(0); // Get a ticket for item zero, 65 console.log(proxy.resolveTicket(ticket1)); // 65 const ticket2 = proxy.createTicket(4); // Get a ticket for item four, 69 console.log(proxy.resolveTicket(ticket2)); // 69 proxy.append(Buffer.from([101, 100, 99, 98, 97])); console.log(proxy.getReadOnlyBuffer()); // [69, 68, 67, 66, 65, 101, 100, 99, 98, 97] console.log(proxy.resolveTicket(ticket1)); // 65 console.log(proxy.resolveTicket(ticket2)); // 69 const ticket3 = proxy.createTicket(0); // Get a ticket for item zero, 97 console.log(proxy.resolveTicket(ticket3)); // 97 const ticket4 = proxy.createTicket(9); // Get a ticket for item nine, 69 console.log(proxy.resolveTicket(ticket4)); // 69 proxy.append(Buffer.from([0x78])); console.log(proxy.getReadOnlyBuffer()); // [68, 67, 66, 65, 101, 100, 99, 98, 97, 120] console.log(proxy.resolveTicket(ticket1)); // 65 console.log(proxy.resolveTicket(ticket2)); // null console.log(proxy.resolveTicket(ticket3)); // 97 console.log(proxy.resolveTicket(ticket4)); // null
Loading…

no comments

    sign in to comment