leaning-tower's People
leaning-tower's Issues
Better README: What problem does the lib solve
The top of the README should more clearly state what kind of problem this library solves.
Investigate use of `Box`
Right now, futures are boxed wherever necessary.
Following the scheme of tower
, we might be able to move this to use custom structs which impl Future
instead.
The perf gain (if any) is not really crucial for my own use so this is more of a learning experience.
Better error handling
anyhow
is used right now.
Remove it as a dependency and make a "proper" error enum.
No matching resources should not be an error
If we have a server and we .await
it, it will serve the connection as long as communication is successful.
If we return an error on no matching resources (which is a perfectly normal expectation in normal use), the server will quit.
Therefore, we need to change from T
into Option<T>
and use None
where we previously used an Err
.
Investigate necessity of `Clone` bound
On places in mux_server
,
and in Detagger
.
Add ability to use several allocators
We give many services to an allocator in order for it to be able to give us exclusive access of the first available matching service upon requests.
However, we want another layer: We want to allow services to be distributed across endpoints as well.
I.e. we want to be able to have services behind allocators at various IP addresses, but a client shall still be able to ask to see it as a single allocator service.
So:
- Set up several allocators
- Wrap them in some service
- This wrapper has the same request type as the allocators
- The wrapper duplicates the request to all allocators
- The end user will receive the first successful response from any allocator
- Remaining allocator futures are cancelled
Note that while a single allocator responds with a port number (where the new TCP connection resides), this is not enough now.
The port must be extended to have the IP address as well now.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.