@egrep I think @Kademlia meant like a List/Queue implementation, but that is directly backed by a Couchbase document. Add an element to the Queue, it’ll get appended in the Couchbase document.
… and what about 20Mb size constraint is this case ? And, anyway:
.defer(() -> b.get(id))
.anyOf(...) // need at least CasMistatchException here, any others at your choice
… and implement Queue + local synchronization over this (i assume, that document is strictly-formatted within and modifyFunction() follows this format)
Of course, this will (most likely) suffer from lack of performance and high memory usage in case of lots of large documents, but as a “persistent queue for docuemnt id’s” it’s well enough.
Getting notifications from the server on documents additions / deletions is another thing altogether, but is also on our radar (as a kind of simplified facade over DCP).
Hm, this one (com.couchbase.client.core.message.dcpInterface DCPRequest):
Note that they can flow in both directions. For example, ConnectionType.CONSUMER connection, means that messages will flow from server to client.
makes me think that there are (probably):
- something is already implemented, but not documented
- server-side part is not implemented (for case of doc change notification)
Seems all this also has a “hard learning curve” due to lack of docs for underlying architecture (i.e. detailed tech docs about internals). Are the any tech-arch-docs ?
@avsej, could you please comment this (as an author of )?