-
Notifications
You must be signed in to change notification settings - Fork 39
feat(input): supports websocket #290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Warning Rate limit exceeded@chenquan has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 21 minutes and 28 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
WalkthroughThe changes update dependency management for the Rust project. Several dependencies, including Changes
Sequence Diagram(s)sequenceDiagram
participant ArkflowPlugin
participant TokioTungstenite
participant WebsocketServer
ArkflowPlugin->>TokioTungstenite: Initiate websocket connection (URL, headers, timeout)
TokioTungstenite->>WebsocketServer: Connect to websocket URL
WebsocketServer-->>TokioTungstenite: Send streaming data (text/binary messages)
TokioTungstenite-->>ArkflowPlugin: Forward received messages via channel
ArkflowPlugin->>ArkflowPlugin: Process incoming messages as MessageBatch
Assessment against linked issues
Possibly related PRs
Suggested labels
Poem
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
crates/arkflow-plugin/Cargo.toml (1)
46-70: Suggest gating optional dependencies with Cargo features
Crates likerumqttc, the Kafka stack,redis,vrl, andtokio-tungsteniteare sizable and may not be needed by all users. Consider defining feature flags to make them optional:+# In Cargo.toml +[features] +default = [] +mqtt = ["rumqttc"] +kafka = ["aws-msk-iam-sasl-signer", "rdkafka", "rdkafka-sys", "sasl2-sys"] +redis = ["redis"] +vrl = ["vrl"] +websocket = ["tokio-tungstenite"]And mark each dependency as optional:
-[dependencies] -rumqttc = "0.24.0" +rumqttc = { version = "0.24.0", optional = true }Repeat for the other protocol-specific crates. This approach improves build times and allows downstream consumers to opt into only the functionality they need.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (2)
Cargo.toml(1 hunks)crates/arkflow-plugin/Cargo.toml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: build
- GitHub Check: build
🔇 Additional comments (6)
Cargo.toml (1)
45-46: Verify version inheritance for local crates
You removed explicit version numbers forarkflow-coreandarkflow-plugin, relying solely on their path dependencies. Ensure that both crates declareversion.workspace = truein their ownCargo.toml(asarkflow-pluginalready does) so the workspace version propagates correctly.crates/arkflow-plugin/Cargo.toml (5)
46-46: Approve explicit version pin for rumqttc
Pinningrumqttcto "0.24.0" ensures reproducible builds and avoids ambiguous workspace resolutions.
49-58: Approve Kafka ecosystem dependencies with explicit versioning
Introducingaws-msk-iam-sasl-signer,rdkafka(v0.37 withcmake-build,tracing,sasl,ssl-vendored,zstd),rdkafka-sys(v4.8.0), andsasl2-sys(v0.1.22 withvendored) provides a fully specified Kafka client stack and prevents workspace mismatches.
59-59: Approve explicit version and features for Redis
Pinningredisto "0.24" withtokio-compandaiofeatures aligns with the plugin’s async requirements.
62-63: Approve VRL dependency addition
Addingvrlv0.23.0 withvalue,compiler, andstdlibfeatures readies the plugin for VRL-based transformations.
69-70: Approve WebSocket support via tokio-tungstenite
Introducingtokio-tungstenitev0.24 with thenative-tlsfeature directly enables the requested WebSocket input capability.
close #286
Summary by CodeRabbit
New Features
Chores