aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-12-24Added minor versions to dependencies to avoid breaking changes, fixed some ↵v0.1.10mainLibravatar Silas Bartha
type mismatch errors
2024-08-11Merge pull request #1 from aihphysics/logging-tracingLibravatar daniloaz
Addition of Tracing crate to logging options. Added an enum and method LightstreamClient to allow configuration with logging using the Tracing crate. Minimal implementation, could be expanded further with proper spans.
2024-08-10Some tuning, cleaned up extraneous error! macros, some INFO's downgraded to ↵Libravatar Alina Hagan
DEBUG's
2024-08-09added option to log messages to tracing over stdoutLibravatar Alina Hagan
2024-04-13⬆️ (Cargo.toml): Bump lightstreamer-client version from 0.1.8 to 0.1.9Libravatar daniloaz
✨ (Cargo.toml): Add colored dependency to enhance console output 📝 (README.md): Overhaul documentation to provide comprehensive details about the project, its features, usage, and contribution guidelines 💡 (client_listener.rs, client_message_listener.rs): Add newline at end of file to adhere to POSIX standards ♻️ (connection_options.rs): Refactor code to improve readability and maintainability 🐛 (connection_options.rs): Rename 'reduce_head' to '_reduce_head' to indicate unused variable ♻️ (error.rs): Reorder imports and adjust formatting for consistency ♻️ (item_update.rs): Refactor code to improve readability and maintainability ♻️ (lib.rs): Reorder module imports for better organization ♻️ (ls_client.rs): Refactor code to improve readability and maintainability 💡 (main.rs): Update print statements to use colored output for changed fields 🐛 (main.rs): Fix import order to follow Rust's idiomatic style 🐛 (proxy.rs, subscription.rs, subscription_listener.rs): Add newline at end of file to follow POSIX standard ♻️ (subscription.rs, subscription_listener.rs): Refactor code to improve readability and maintainability 📝 (util.rs): Add newline at end of file to adhere to POSIX standards
2024-04-13✨ (Cargo.toml): Bump package version to 0.1.8 for new changesLibravatar daniloaz
♻️ (item_update.rs): Refactor ItemUpdate struct and related methods to store only non-null changed fields ♻️ (ls_client.rs): Refactor data update handling to store updates in a HashMap and call on_item_update for each listener 🐛 (ls_client.rs): Fix item index off-by-one error in data update handling 🐛 (main.rs): Update on_item_update implementation to handle new ItemUpdate structure ♻️ (subscription_listener.rs): Refactor on_item_update method to take a reference to ItemUpdate
2024-04-12Implemented part of the item update logic.Libravatar daniloaz
2024-04-07⬆️ (Cargo.toml): bump version from 0.1.6 to 0.1.7 for new releaseLibravatar Daniel López Azaña
♻️ (various): refactor code to use underscore prefix for unused variables ✨ (ls_client.rs): add constants for WebSocket connection setup ✨ (various): add unimplemented!() stubs for methods to be implemented 🔥 (main.rs): remove unused imports and commented code 🔥 (ls_client.rs): remove unused HashMap import and commented code 🐛 (subscription.rs): fix get_command_value to correctly format key before lookup 🔧 (Cargo.toml): remove hyper dependency as it's no longer used
2024-04-07✨ (Cargo.toml): bump version to 0.1.6 for new releaseLibravatar Daniel López Azaña
✨ (ls_client.rs): add LS_data_adapter parameter to subscription request ♻️ (ls_client.rs): conditionally remove LS_data_adapter if empty to clean up request params
2024-04-07✨ (Cargo.toml): bump version to 0.1.5 for new releaseLibravatar Daniel López Azaña
✨ (ls_client.rs): add TLCP_VERSION constant for protocol version tracking ♻️ (ls_client.rs): remove commented-out code and unused println for cleaner codebase ♻️ (ls_client.rs): use TLCP_VERSION constant instead of hardcoded protocol string ✨ (ls_client.rs): handle 'reqok' server message for better server communication ♻️ (subscription.rs): change error type to Box<dyn Error> for more generic error handling 🐛 (subscription.rs): fix error message to be more descriptive when items or fields are missing
2024-04-05⬆️ (Cargo.toml): bump package version from 0.1.3 to 0.1.4Libravatar Daniel López Azaña
2024-04-05🐛 (ls_client.rs): fix LS_cid parameter by removing URL encoding from the ↵Libravatar Daniel López Azaña
value
2024-04-05⬆️ (Cargo.toml): bump version from 0.1.2 to 0.1.3Libravatar Daniel López Azaña
✨ (connection_details.rs): add user and password parameters to ConnectionDetails::new ♻️ (ls_client.rs): refactor user and password handling into ConnectionDetails 🐛 (ls_client.rs): downgrade TLCP protocol version from 2.5.0 to 2.4.0 ✨ (main.rs): update LightstreamerClient::new call to include optional username and password parameters
2024-04-05⬆️ (Cargo.toml): bump version to 0.1.2 for new releaseLibravatar Daniel López Azaña
♻️ (connection_details.rs): refactor `new` method to return Result for better error handling ✨ (connection_details.rs): set default adapter set to "DEFAULT" if none provided ✨ (ls_client.rs): update `new` method to handle Result from ConnectionDetails::new 🐛 (main.rs): fix subscription item list to include correct items ♻️ (main.rs): replace magic number with constant for max connection attempts
2024-04-04⬆️ (Cargo.toml): bump package version to 0.1.1 for new releaseLibravatar Daniel López Azaña
♻️ (ls_client.rs): streamline WebSocket 'wsok' message sending code
2024-04-04✨ (connection_options.rs): Add get_send_sync method for ConnectionOptionsLibravatar Daniel López Azaña
♻️ (ls_client.rs): Refactor message processing to handle multiple submessages 🐛 (ls_client.rs): Fix default instantiation of ConnectionOptions using default method
2024-04-04♻️ (ls_client.rs): refactor subscription logic for clarity and ↵Libravatar Daniel López Azaña
maintainability ♻️ (ls_client.rs): remove hardcoded base_params and use dynamic params for session creation ♻️ (ls_client.rs): remove commented-out subscription code for cleanup ✨ (ls_client.rs): handle new server messages for connection errors and subscription confirmations 🚚 (ls_client.rs): remove unnecessary println at the end of connect function ✨ (main.rs): change adapter set from "QUOTE_ADAPTER" to "DEMO" for client initialization ✨ (subscription.rs): add Default trait implementation for Snapshot enum ✨ (subscription.rs): implement ToString trait for Snapshot and SubscriptionMode enums 🐛 (subscription.rs): fix error message in set_item_group method to be more descriptive
2024-04-03♻️ (ls_client.rs): refactor base_params to Vec for consistent param handlingLibravatar Daniel López Azaña
✨ (ls_client.rs): add conditional adapter_set param to base_params ♻️ (ls_client.rs): remove redundant adapter_set insertion ♻️ (ls_client.rs): refactor message processing loop for clarity and extensibility 🔧 (main.rs): extract MAX_CONNECTION_ATTEMPTS as constant for better configurability ✨ (main.rs): change adapter_set from "DEMO" to "QUOTE_ADAPTER" for client initialization
2024-03-31♻️ (error.rs): remove unnecessary error conversions for ↵Libravatar Daniel López Azaña
IllegalArgumentException and IllegalStateException ♻️ (ls_client.rs): refactor connect method to accept shutdown signal and return generic error ✨ (ls_client.rs): add support for graceful shutdown using Notify ✨ (ls_client.rs): implement session creation and subscription logic in connect method ♻️ (main.rs): replace SharedState with Notify for handling shutdown signal ✨ (main.rs): add retry logic with a maximum of 5 retries for the client connection in main function ✨ (main.rs): ensure graceful client disconnect and orderly shutdown of the application
2024-03-30WARNING: unstable commit.Libravatar Daniel López Azaña
🔧 Update .gitignore to exclude .vscode directory ✨ Add futures-util and url dependencies to Cargo.toml ♻️ Refactor error handling into separate error module in Rust project 💡 Add get_password method documentation in connection_details.rs ♻️ Replace String with Transport enum for forced_transport in connection_options.rs ✨ Implement WebSocket connection logic in ls_client.rs with async support ✨ Add ClientStatus, ConnectionType, and DisconnectionType enums to manage client states in ls_client.rs ✨ (main.rs): add Transport enum to LightstreamerClient imports for WebSocket support ♻️ (main.rs): refactor signal handling to use SharedState struct for clean shutdown ✨ (main.rs): implement AtomicBool for graceful disconnect handling 📝 (main.rs): update comments to reflect new signal handling logic ✨ (main.rs): set forced transport to WebSocket streaming in Lightstreamer client options ✨ (util.rs): create new util module with clean_message function for message sanitization
2024-03-30✨ (Cargo.toml): add signal-hook dependency for signal handlingLibravatar Daniel López Azaña
♻️ (client_listener.rs): make ClientListener trait Send to allow cross-thread usage ✨ (main.rs): implement signal handling for graceful shutdown ♻️ (main.rs): refactor client creation to use Arc<Mutex> for shared state ♻️ (main.rs): add retry logic for persistent connection attempts ♻️ (subscription_listener.rs): make SubscriptionListener trait Send to allow cross-thread usage
2024-03-29Improved connection_options module.Libravatar Daniel López Azaña
2024-03-28♻️ (ls_client.rs): refactor connect method to check server_address ↵Libravatar Daniel López Azaña
before connecting ✨ (main.rs): rename subscription to my_subscription for clarity ✨ (main.rs): move subscription setup before client creation ✨ (main.rs): add client.subscribe and client.connect calls to main function
2024-03-28✨ (lib.rs): introduce `ls_client` module as a cleaner naming conventionLibravatar Daniel López Azaña
✨ (ls_client.rs): add `LightstreamerClient` struct and associated methods for managing communication with Lightstreamer Server ✨ (main.rs): update imports to use new `ls_client` module and add data adapter and snapshot configuration to subscription ♻️ (lib.rs): refactor `lightstreamer_client` to `ls_client` for consistency with new module name 📝 (ls_client.rs): add comprehensive documentation for `LightstreamerClient` and its methods ✨ (subscription.rs): add Snapshot enum to define snapshot delivery preferences ♻️ (subscription.rs): refactor requested_snapshot to use Snapshot enum for clarity 💡 (subscription.rs): update comments to reflect changes in snapshot handling
2024-03-28✨ (client_listener.rs): Implement Debug trait for ClientListener for ↵Libravatar Daniel López Azaña
better logging ♻️ (connection_details.rs): Refactor ConnectionDetails to use Option for optional fields ♻️ (connection_details.rs): Change new constructor to accept &str and convert to String ✨ (connection_details.rs): Implement Debug trait for ConnectionDetails ♻️ (connection_options.rs): Implement Debug trait for ConnectionOptions ♻️ (lightstreamer_client.rs): Refactor LightstreamerClient to use Option for server_address and adapter_set ✨ (lightstreamer_client.rs): Implement Debug trait for LightstreamerClient ♻️ (main.rs): Update subscribe_to_channel function to use new control.txt URL and parameters ♻️ (main.rs): Update main function to use Option<&str> when creating LightstreamerClient ✨ (proxy.rs): Add Proxy struct and ProxyType enum to handle proxy configurations
2024-03-24Unstable commit, won't compile.Libravatar daniloaz
2024-03-24Created structure and scaffolding for the Lightstreamer client.Libravatar daniloaz
2024-03-23🔧 (Cargo.toml): Update license identifier from 'GPL 3.0' to ↵Libravatar daniloaz
'GPL-3.0-only' for better SPDX compliance
2024-02-18Added function to subscribe to channel on Lightstreamer server and started ↵Libravatar daniloaz
using tokio for multithreading.
2024-02-16Add persistent HTTP connection with session ID sharingLibravatar daniloaz
2024-02-16Add initial Cargo.toml for Lightstreamer clientLibravatar daniloaz
2024-02-16Initial commitLibravatar daniloaz