feat: mic moc#5486
Open
nugaon wants to merge 5 commits into
Open
Conversation
- Use RWMutex instead of Mutex for handler map access - Add atomic subscription counter to skip locking when no subscriptions exist - Hold read lock during handler iteration to prevent concurrent mutations - Extract payload once before dispatching to handlers - Inline getHandlers to reduce function call overhead - Apply optimizations consistently across gsoc, mic, and moc packages
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds WebSocket subscription endpoints for receiving real-time Single Owner Chunk (SOC) payloads filtered by owner address (MIC) or identifier (MOC):
/mic/subscribe/{owner}/moc/subscribe/{id}Both listeners integrate with push/pull sync to dispatch matching SOC payloads to WebSocket subscribers.
Includes optimized SOC listener implementation using
RWMutexwith atomic fast-path to minimize lock contention on the hot sync path. The same optimization is applied to the existing GSOC listener for consistency.Open API Spec Version Changes (if applicable)
8.1.0 → 8.2.0 (new endpoints are additive features per SemVer)
Motivation and Context (Optional)
Enables real-time notifications for specific SOC patterns without polling.
Related Issue (Optional)
PubSub SWIP
Checklist
Screenshots (if appropriate):
AI Disclosure