Skip to content

patch socket.io socket object to buffer messages and send as a group.

Notifications You must be signed in to change notification settings

mercuryt/buffer_socket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

npm install buffer_socket

function:
  make the socket.io socket object buffer messages into batches.

motivation:
  take the burden off the application developer to manually bundle data to be sent through the socket.  the developer must only specify what is to be sent.

implimentation:
  a socket object is passed to the 'patch' function, which wraps the emit method and adds a few helpers as well as a responder, listening for '__buffer'.  the patched emit function collects messages into an array, sending them when the oldest has reaced config.max_delay or a message is sent with a first argument of 'priority', which causes the buffer to flush, with the remander of the emit arguments added it's end.

usage:
  server:
    patch=require('buffer_socket').patch
    io.sockets.on 'connection',(socket)->
      patch socket
      (continue to configure responders as usual)
  client:
    patch=require('buffer_socket').patch
    socket=io.connect url+':'+socket_number
    patch socket

configuration:
  the module exports a config object, with properties 'max_delay' and 'overwrite_emit'
  max_delay:
    the maximum time a message will be delayed before being sent to the other end
    defaults to 1000 miliseconds
  overwrite_emit:
    overwrites the socket's 'emit' method to use buffering.  insert 'priority' into the begining of an emit event to send it  immideatly, and flush the buffer.  use buffer_emit if overwrite_emit is false
    defaults to true

About

patch socket.io socket object to buffer messages and send as a group.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published