- Add BINARY_FORMAT.md: full AcBinary wire format spec (markers, encoding, options, protocol, interactions) - Reference BINARY_FORMAT.md from GLOSSARY.md, Binaries/README.md, and Serializers/Binaries/README.md; add new glossary terms - Clarify and expand config options tables to match new doc - Add/clarify LLM maintenance rules: always sync .md files with code, auto-fix discrepancies - Update root README.md: AyCode.Core targets .NET 9, not 10; stress doc/code sync - Add code reuse and doc sync conventions to copilot-instructions.md and CONVENTIONS.md - Add docs/ folder and BINARY_FORMAT.md to solution as Solution Items - Minor clarifications and cross-links in ARCHITECTURE.md and other docs |
||
|---|---|---|
| .. | ||
| DynamicMethods | ||
| Logins | ||
| AyCode.Models.Server.csproj | ||
| README.md | ||
README.md
AyCode.Models.Server
Server-side models: authentication state and dynamic method dispatch for SignalR message routing.
Folder Structure
| Folder | Purpose |
|---|---|
Logins/ |
Server-side logged-in user model |
DynamicMethods/ |
Reflection-based method registry for SignalR message tag routing |
Key Files
Logins/
AcLoggedInModelServer.cs— ImplementsIAcLoggedInModelBase<...>. TracksLoggedInUser,AccessToken,LoginErrorCode. Methods:AddLoggedInUser(),Logout().
DynamicMethods/
AcMethodInfoModel.cs— Wraps aMethodInfo+ itsTagAttribute+ParameterInfo[]. Generic overTAttribute : TagAttribute.AcDynamicMethodCallModel.cs— Binds an object instance to its attributed methods. StaticConcurrentDictionary+FrozenDictionarycache — reflection runs once per type. Lookup byMessageTag(int).AcDynamicMethodRegistry.cs— Per-request registry for dynamic method dispatch.Register()stores instances,GetMethodByMessageTag()resolves method + instance with lazy search and static cache. Optimized for small instance counts (array-backed, no List).
Dependencies
| Dependency | Purpose |
|---|---|
AyCode.Core |
Error codes |
AyCode.Core.Server |
Server-side core |
AyCode.Entities |
Entity base classes |
AyCode.Entities.Server |
Server entities |
AyCode.Interfaces |
Interface contracts |
AyCode.Interfaces.Server |
IAcLoggedInModelBase |
AyCode.Models |
Shared models |
AyCode.Services |
TagAttribute for SignalR method tagging |