How r34p3r-1c3734/greennet-nt106 works
GreenNet is an experimental client–server tool for measuring and optimizing the energy cost of file transfers. A user configures a transfer in the client, which asks the load balancer for a server, sends the file with selected or adaptive compression, protocol, and encryption, then reports measurements; the server records session results for later history and comparison. Dashboard, account management, and energy-aware server selection are distinct capabilities. The graph reflects sampled client and server calls plus README-documented architecture; several protocol and UI details are documented but their implementation was not sampled.
Main entry points: ServerEngine.cs Transfer server · ClientSession.cs Client session · FileSender.cs File transfer sender · LbEngine.cs Load balancer
Components 20
Client experience
- Login and register
GreenNet.Client/frmLogin.cs - Client session
GreenNet.Client/ClientSession.cs - Transfer controls
GreenNet.Client/frmMain.cs - Live dashboard
GreenNet.Client/frmDashboard.cs - Session history
GreenNet.Client/frmHistory.cs - Configuration comparison
GreenNet.Client/frmCompare.cs
Transfer and measurement
- File transfer sender
GreenNet.Client/FileSender.cs - Adaptive compression
GreenNet.Client/AdaptiveController.cs - Transfer metrics
GreenNet.Client/MetricsHub.cs - Energy model
GreenNet.Core/EnergyModel.cs - Compression codecs
GreenNet.Core/CompressionHelper.cs - Reliable UDP
GreenNet.Core/Rudp.cs
Routing and server
- Load balancer
GreenNet.LoadBalancer/LbEngine.cs - Transfer server
GreenNet.Server/ServerEngine.cs - SQL Server
db/Schema.sql
Shared services
- Database access
GreenNet.Core/Database.cs - TLS and key trust
GreenNet.Core/SecureChannel.cs - Message framing
GreenNet.Core/Framing.cs - AES and passwords
GreenNet.Core/CryptoHelper.cs
Other components
- User
Connections 31
- User → Login and register: signs in
README.md - User → Transfer controls: configures transfer
README.md - User → Live dashboard: monitors
README.md - User → Session history: reviews sessions
README.md - User → Configuration comparison: compares runs
README.md - Login and register → Client session: requests account
GreenNet.Client/frmLogin.cs - Transfer controls → File transfer sender: starts transfer
GreenNet.Client/frmMain.cs - Transfer controls → Transfer metrics: updates metrics
GreenNet.Client/frmMain.cs - Live dashboard → Transfer metrics: reads metrics
GreenNet.Client/frmDashboard.cs - Session history → Client session: loads sessions
GreenNet.Client/frmHistory.cs - Configuration comparison → Client session: loads comparisons
GreenNet.Client/frmCompare.cs - File transfer sender → Client session: connects via
GreenNet.Client/FileSender.cs - File transfer sender → Adaptive compression: selects compression
GreenNet.Client/FileSender.cs - File transfer sender → Compression codecs: compresses chunks
GreenNet.Client/FileSender.cs - File transfer sender → Energy model: estimates energy
GreenNet.Client/FileSender.cs - Adaptive compression → Compression codecs: tests codecs
GreenNet.Client/AdaptiveController.cs - Adaptive compression → Energy model: scores options
GreenNet.Client/AdaptiveController.cs - Client session → Load balancer: requests server
GreenNet.Client/ClientSession.cs - Client session → Transfer server: opens TLS
GreenNet.Client/ClientSession.cs - Load balancer → Transfer server: checks health
README.md - Load balancer → Transfer server: selects endpoint
GreenNet.LoadBalancer/LbEngine.cs - Transfer server → Database access: stores results
GreenNet.Server/ServerEngine.cs - Database access → SQL Server: reads and writes
GreenNet.Core/Database.cs - Transfer server → Compression codecs: decompresses chunks
GreenNet.Server/ServerEngine.cs - Transfer server → AES and passwords: verifies credentials
GreenNet.Server/ServerEngine.cs - Transfer server → TLS and key trust: serves TLS
GreenNet.Server/ServerEngine.cs - Client session → Message framing: frames requests
GreenNet.Client/ClientSession.cs - Load balancer → Message framing: frames routing messages
GreenNet.LoadBalancer/LbEngine.cs - Transfer server → Message framing: frames protocol messages
GreenNet.Server/ServerEngine.cs - Client session → TLS and key trust: authenticates server
GreenNet.Client/ClientSession.cs - File transfer sender → Reliable UDP: uses reliable UDP