jibini-net / mycelium Goto Github PK
View Code? Open in Web Editor NEWModular backend for homebrew applications
License: MIT License
Modular backend for homebrew applications
License: MIT License
Consider the guidelines of Elegant Objects, where objects are not just pack mules for data. Every object is a self-contained machine.
RequestHandler
and PluginManager
Later: replace Java Reflection in plugin-loading.
Plugin | Feature | Description | Current Status |
---|---|---|---|
Core | Plugin loading | Load from class instance or from file | Complete |
Core | Config files | Initiate default configs, read and write to/from file | Complete |
Core | StitchLink /Patch |
Create a way to transmit Request instances |
Complete |
Core | Inter-plugin talk | Create a central service which delivers data to plugins | Complete |
Core | Plugin dependencies | Loads all plugins into common URLClassLoader and checks all dependencies are present |
Complete |
Core | Request handling/response | Invoke a RequestCallback when a Request is received, and have a ResponderCallback which embeds a response and automatically communicates with the sender; additionally, sort by type with "request" header tag |
Complete |
Core | Routing | Create a RequestRouter which sends a Request to the correct place by analyzing a "target" value in the header |
Complete |
Core | Route tracking | Embed the route a Request took in the header so it can retrace back to the original sender through multiple levels of routing |
Complete |
Network | Session management | Creates sessions with token and a separate SessionKernel for each created session |
Complete |
Network | SocketLink |
Create a StitchLink which works over a TCP connection |
Complete |
Network | Session routing | Create a service which matches external clients with their SessionKernel and resorts to an uplink connection for outside services |
Complete |
Network | External clients | Accept incoming TCP connections and connect to session routing | Not started |
Network | Persistence ticks | Automatically close connections when they are inactive for a certain amount of time, and reopen them when the session comes back alive | Not started |
Network | Service redirect | Reroute a request if that service is in another castle | Started |
Plugin | Feature | Description | Current Status |
---|---|---|---|
All | Connection/session/resource pruning | Delete expired sessions, close connections, analyze and avoid resource leaks | Not started |
All | Optimization | Stress test, find and fix bottlenecks | Not started |
Core | Plugin compat tag and dependency min/max allowed |
Require a specific version of a dependency and have a compat tag in the plugin manifest; allow loading when [Requirement Min.] <= Installed Compat <= [Requirement Max.] |
Not started |
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.