Lots of other programming languages can access gRPC and Arrow, which means many different languages will be recreating the core client logic to handle the client requests and response handling.
The idea is that there could one kernel client that all other programming languages use, and then the specific language is left to implement the specific of the core spark objects.
What does this involve?
Isolate the existing client.rs into core and move all other rust specific implementations into rust
Remove any dependencies in client.rs that are only for the rust library
Update error handling in client.rs to create a new ConnectClientError error type, (currently leverages SparkError)
lots of more research and analysis into the feasibility of this kernel :)
Description
Lots of other programming languages can access gRPC and Arrow, which means many different languages will be recreating the core client logic to handle the client requests and response handling.
The idea is that there could one kernel client that all other programming languages use, and then the specific language is left to implement the specific of the core spark objects.
What does this involve?
client.rs
intocore
and move all other rust specific implementations intorust
client.rs
that are only for therust
libraryclient.rs
to create a newConnectClientError
error type, (currently leveragesSparkError
)