Commit Graph

13 Commits

Author SHA1 Message Date
Henry Camacho a528352e28 Added support for LumberJack logging and —log argument like caddy
- 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.
2017-03-26 17:33:40 -05:00
Henry Camacho 0e1f99c8da Round Robin Load Balancing feature enabled
- 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.
2017-03-25 15:01:57 -05:00
tigerbot 0a7ef4c601 fixed bug with peeking I introduced during the cleanup 2017-03-23 17:57:43 -06:00
tigerbot 87a1d9c0ae cleaned up a few import statements 2017-03-22 16:53:12 -06:00
Henry Camacho ba67cebb29 Several Considerations for Load Balancing, Collection of Bulk ServerStatus
- added a number of global status collections
- this requires wedging into things..
- removing direct address to come functions putting them though serverStatus
2017-03-19 19:04:47 -05:00
Henry Camacho 4696ec4ec2 Added support for default load balancer method. 2017-03-19 09:56:33 -05:00
Henry Camacho 860580c7c8 Updated to include selectable domain statistics.
- 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
2017-03-18 14:28:54 -05:00
Henry Camacho 74591fd150 Added support for YAML configuration file
- 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
2017-03-11 14:28:49 -06:00
Henry Camacho 5334649fba got non-terminating traffic identified, and used SNI to figure direction 2017-03-10 23:36:42 -06:00
Henry Camacho f3bb9cb584 Implemented domain tracking for external connections
- system now tracks both in and out bytes
- various clean up.
2017-03-09 21:38:23 -06:00
Henry Camacho d7e01e8b40 Adjusted to remove excessive packages.
Moved XLATE into generic listener.
2017-03-07 19:34:16 -06:00
Henry Camacho b11f6c54bc Implemented Docker Container Testing.
- a few other minor fixes.
- removed RVPNMAIN
- there is a bunch of other clean up I want to do…
2017-03-04 12:18:08 -06:00
Henry Camacho 07380af871 lots of changes
- debugging issues (not resolved) attempting to move the main executable into the base directory, this did not solve the issue, keeping it here.  A main.go and the executable.
listener_client — the WSS client
- removed support for anything admin
- injected the domains from the claim
- domains are now included as initialDomains
- registration performans as normal but includes adding the domains to a map of domains, and a collection of domains on the connection.
- the system now supports look up fast in either direction, not sure if it will be needed.
- reads a chan during registration before allowing traffic, making sure all is well.
- registration returns a true on the channel if all is well.   If it is not, false.  Likely will add some text to pass back.

Connection
- added support for boolean channel
- support for initial domains in a slice, these are brought back from the JWT as a interface and then are type asserted into the map
- removed all the old timer sender dwell stuff as a POC for traffic counts.

ConnectionTable
- added support for domain announcement after the WSS is connection.  Not sure if we will need these.  They have not been implemented.
- I assume all domains are registered with JWT unless I hear differently which would require a new WSS session
- expanded NewTable constructor
- populating domains into the domain map, and into the connection slice.
- added support for removing domains when a connection is removed.
2017-02-12 14:39:50 -06:00