This commit removes the pipeline-related function definitions from the `FireflyClientPy` class in the `README.md` file. These functions are no longer needed in the Python client as pipeline operations are handled differently.
The removed functions include:
- `SetPipelineMode`
- `SetBatchSize`
- `FlushPipeline`
- `GetQueuedCommandCount`
- `IsPipelineMode`
- `GetBatchSize`
This commit introduces several enhancements to the native interop layer and the client API, focusing on improved data handling and memory management.
- Modified `ListRange` and `HashGetAll` to return `StringArray` and `Dictionary` structures respectively, instead of newline-delimited strings. This change provides more structured data to native clients and avoids the need for manual parsing.
- Added `ListLength` to retrieve the length of a list.
- Introduced `NativeStringList` and `NativeDictionary` structures for interop, along with marshalling and unmarshalling methods (`MarshalStringList`, `MarshalDictionary`, `NativeFreeStringList`, `NativeFreeDictionary`) to facilitate data exchange between C# and native code.
- Updated the `firefly.h` header file with C header definitions for the new structures and functions.
- Changed access modifiers of several methods in `StringOperations.cs`, `HashOperations.cs`, `ListOperations.cs` and `FireflyClient.cs` to private.
- Updated documentation to reflect the API changes.
- Updated the command-line interface to use more modern C# syntax.
These changes improve the usability and efficiency of the Firefly client for native applications, while also improving the internal code structure.