<commit_before># Broadcast

Broadcast is a high performance network daemon designed to run generic
command topologies. Typically, we all want to write servers that do lots
of fancy things, usually at a high velocity. Unfortunately, because of the
differing requirements in what we would like to support, much of the
underlying network code gets re-written for optimizations and other useful
features. Broadcast is an attempt to provide a very simple abstraction
layer that should allow new distributed servers to be built and deal
while being able to work directly with typed data.

## Features

+ broadcast-server can listen on tcp
+ supports reading and writing: int64, float64, string, byte, []byte,
  error, and bool.
+ registered command callbacks will receive typed data as it was parsed
  (i.e. ADD will receive an array of numbers which might be floats/ints)
+ broadcast-cli connects to the server to see a list of routines supported
  by the server and caches them locally for easy lookup & auto-completion
+ stats-aware, broadcast has built in stats tracking to not only monitor 
  it's own state and report it out, but is able to handle generic stat
  routines through extended modules (i.e. broadcast-stats)

## TODO
+ listen on udp
+ cluster-aware configuration, allow broadcast-server to inspect commands 
  and determine whether both the command or the first key of the arguments
  is handled by a different server altogether using a hashring config.
+ add additional language clients (node.js, python, c#) 

## Build and Install
<commit_msg>Updating readme todo<commit_after># Broadcast

Broadcast is a high performance network daemon designed to run generic
command topologies. Typically, we all want to write servers that do lots
of fancy things, usually at a high velocity. Unfortunately, because of the
differing requirements in what we would like to support, much of the
underlying network code gets re-written for optimizations and other useful
features. Broadcast is an attempt to provide a very simple abstraction
layer that should allow new distributed servers to be built and deal
while being able to work directly with typed data.

## Features

+ broadcast-server can listen on tcp
+ supports reading and writing: int64, float64, string, byte, []byte,
  error, and bool.
+ registered command callbacks will receive typed data as it was parsed
  (i.e. ADD will receive an array of numbers which might be floats/ints)
+ broadcast-cli connects to the server to see a list of routines supported
  by the server and caches them locally for easy lookup & auto-completion
+ stats-aware, broadcast has built in stats tracking to not only monitor 
  it's own state and report it out, but is able to handle generic stat
  routines through extended modules (i.e. broadcast-stats)

## TODO
+ broadcast-benchmark for stats benchmarking
+ configuration/support for listening on udp
+ cluster-aware configuration, allow broadcast-server to inspect commands 
  and determine whether both the command or the first key of the arguments
  is handled by a different server altogether using a hashring config.
+ add additional language clients (node.js, python, c#) 

## Build and Install

{'fraction_non_alphanumeric': 0.04162754303599374, 'fraction_numerical': 0.0025039123630672924, 'mean_word_length': 4.491408934707904, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3762383', 'n_tokens_mistral': 774, 'n_tokens_neox': 744, 'n_words': 470}