Stuff that need implementing, fixing or testing.
- Planned
- Gather and display statistics (small web server + stats publish)
- Features
- Carrier + Overlay
- Implement proper statistics gathering and reporting mechanism (and remove them from the Boot func)
- Relay + Iris
- Remove goroutine / pending request (either limit max requests or completely refactor proto/iris)
- Carrier
- Exchange topic load report only for app groups, not topics
- Session
- Memory pool to reduce GC overhead (maybe will need larger refactor)
- Carrier + Overlay
- Bugs
- Relay
- Race condition if reply and immediate close (needs close sync with finishing ops)
- Iris
- Detect dead tunnel (heartbeat or topic-style node monitoring?)
- Overlay
- Proper closing and termination (i.e. try and minimize lost messages when closing)
- Relay
- Misc
- Overlay
- Benchmark and tune the handshakes
- Benchmark and tune the state maintenance and updates
- Benchmark and tune the routing performance
- Overlay
- Upstream Go bugs:
- Slice corruption with 64 bit indices on 386
- Link: https://code.google.com/p/go/issues/detail?id=5820
- Hack: slice[int(index_64)] = nil
- Used: proto/iris/tunnel.go x2
- Slice corruption with 64 bit indices on 386