-
Notifications
You must be signed in to change notification settings - Fork 9
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
Improve the Adapter API for CRUD #53
Comments
My impression, based on @mcav's code, is that the following architecture works nicely:
The main advantage of this is that this already works, without having to complicate the API or data structures, and that we already have primitives for watching the list of entries, accessing them, etc. |
While the approach I took in Thinkerbell's adapter does work, the "one On Wed, Mar 30, 2016 at 1:49 PM, David Rajchenbach-Teller <
|
@mcav Interesting idea, I like it. Could you post your more extensive thoughts somewhere? |
So, based on @mcav's idea, we could add a slight redesign to the channels, as follows: struct Channel {
kind: ChannelKind,
id: Id<ChannelId>,
service: Id<ServiceId>,
adapter: Id<AdapterId>,
/// `true` if the channel can be used as part of a `fetch_values` operation.
/// See `kind` for the type of values returned.
fetch: bool,
/// `true` if the channel can be used as part of a `send_values` operation.
/// See `kind` for the type of values expected.
send: bool,
/// `true` if the channel can be used as part of a `delete_values` operation.
delete: bool,
} The main differences with what we have today are:
Is this what you have in mind, @mcav? |
Yes, I think |
Now that we have some experience building an Adapter for a CRUD, let's see what we can improve.
Ping @fabricedesre, @mcav, @dhylands, @azasypkin .
The text was updated successfully, but these errors were encountered: