- I don’t think the way I am doing logging is correct, however it was the only way I could figure to get the package level customizations and flags I wanted while leveraging lumberjack.
- altered tunnel end point interface to AJ’s specification in issue #18
- added an InitLogging function package level, that is called by main to init.
- system collects all the domains, servers, and stats. /domains
- added support for a WSS state, displays on the UI
- moved all server related domain structures to ServerDomain* etc. to avoid collision with Domains
- create new Domains structure to handle Domains, Domain, Servers and Traffic at each level.
- updated initial lastUpate to the connection time rather than 0 which gave a silly duration.
- added properties for DomainTrack (Requests and Responses)
- the system implements a rough round robin also.
- members that are removed, do not remove preserving order.
- this many skew RR slightly, the small trade of with a non-order slice removal
- fixed issue with reaper, would not reap connections that had closed based on write failure
- reduced well to 120 seconds.
- place holder for other LB ALGO’s like least-connections.
- at this time no support for heath checks.
- added a number of global status collections
- this requires wedging into things..
- removing direct address to come functions putting them though serverStatus
- added support for decent duration display
- added support for byte count display (k/m/g/, etc)
- added detail selector, you can watch n number of connections and refresh while keeping them open.
- refresh button
- built envelope based on AJ spec, self standing package with transaction ID increment and unix time stamps
- fixed servers end point
- created server/{id} end point
- created rest mappings for GET
- implemented viper module in code.
- removed all the older configuration, not sure if we want to use flags or just the configuration files.
- added support for dwell, idle and cancelceck timers
- generic binding is now an int passing to the generic manager.
- passing dwell, and idle directly to connection table.
- adjusted all dead time structures, the system supports a map(string)interface{} of various dead time counters
- this version also supports variable sized buffers for each request by using the bufio.reader
- we peek all, and then pass everything down the channel we have.
- I am wondering if this will be a problem is someone just starts pouring data down never ending.
- direct support now for terminating domains
- there is a domain for admin, and wss. Each shared the external address listener (testing 9999)
Additions
- added support for Discard for wedge connections
- added support for ReadByte to wedge conn
- got too cute with the package names, needed to bring everything into one package, except for packer.
- system is passing traffic now, ran a load test generating 1000 connections, seems ok.
- removed a lot of message logging since traffic is passing.