~jack/reflex-libtelnet

reflex-libtelnet/reflex-libtelnet/README.md -rw-r--r-- 2.1 KiB
ffea5fa8Jack Kelly Fix README/ChangeLog 6 months ago

#Reflex Bindings to libtelnet

This is a reflex wrapper around libtelnet, which lets you describe data flows through the telnet state tracker using reflex Events.

This library thinly wraps the libtelnet functions, so you should read the libtelnet documentation alongside the haddocks for this package.

#Quick Start

  1. Assemble a config :: TelnetConfig t, which holds the event streams that feed into a telnet state tracker. The easiest way to do this is to call newTelnetConfig and overwrite the fields you care about using record updates or lenses. You will almost certainly want to overwrite recv to be the stream of incoming data from a socket, and send to be the stream of outgoing data from your application.

    • If you want to use lenses, use the generic-lens or generic-optics to get your preferred flavour of optic. Make sure to use the field' @"fieldName" version (i.e. not #fieldName or un-primed field), otherwise GHC will struggle to infer the type of t when setting fields in ReflexConfig t.
  2. Call telnet config, and save the resulting TelnetEvents t. This structure holds the output event streams from a single telnet state tracker.

  3. Wire the output events into your application.

#Other Resources