Skip to content

Initial Release Requirements #1

@Ven0maus

Description

@Ven0maus

Feature TO-DO list before release:

Handshake

  • Trust-on-first-use
  • AES encryption key exchange
  • Protocol Version negotiation
  • Custom encryption support

Connections

  • Fully asynchronous
  • Connect, read, write timeouts
  • Ip black/whitelisting
  • Connections tracking
  • KeepAlive / Heartbeat monitoring
  • Rate limiting (max packets/bandwith)
  • Lifecycle events
  • Graceful disconnections
  • Automatic violation tracking and banning based on ratelimits

Packet Protocol

  • Default implementation provided
  • Versioning
  • Encryption support
  • Replay attack protection
  • Custom protocol support
  • Custom packet support
  • Custom serialization support
  • Typed routing
  • Clear Packet, Packet models, no IPacket exposed outside
  • Move encryption into transport layer

Transport

  • TCP transport default provided
  • Custom transport support

Utilities

  • Custom logging providers
  • Configuration files

Examples

  • Documentation
  • Provide example implementation

Testing

  • Integration tests
  • Fuzz tests (packet parsing)
  • Stress tests

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions