On Wed, Oct 18, 2017 at 4:57 PM, Jens Alfke <[email protected]> wrote:
> > > On Oct 18, 2017, at 5:42 AM, Matias Piipari <[email protected]> > wrote: > > What's the status of the C / C++ APIs, in that they are at least not noted > to intended as the "public" API? Does that mean that they are to go > substantial changes and some stabler / smaller subset is to be introduced > still? Or have I just hit some out of date documentatioN/ > > > LiteCore’s C API is not considered public; it’s an internal API for use by > implementations of Couchbase Lite, it can change without notice, etc. That > being said, we try to limit incompatible changes because they require > coordination between the three current CBL implementations. (I did just > commit one yesterday, though.) > This sounds good. Do you follow some pattern for noting commits or release note entries where C API changes are introduced? I've started experimentally putting together a node-ffi based wrapper using the C API, thus far things are working (on macOS anyway – I've logged some issues regarding compilation on Linux presently) with a few API calls mapped as a test. I think I'll write the real thing in TypeScript so that I can use enums for the typedef equivalents and for the Swift / Objective-C API higher level type equivalents (many of the same of which make sense to provide). > We would like to have a public C/C++ API for developers to use, which > would be considered a new platform of Couchbase Lite, but that’s something > for the future. > Nice, and also understandable why that's for the future. > The precise way in which V8 handles thread isolation I bet will actually > cause some pain. If the threading behaviour was like in CBL for iOS / macOS > 1.x like I have potential solutions in mind. Could you explain more about > the threading model, and what you describe as making threadsafety easier, > in couchbase-lite-core? > > > I just finished writing a wiki document on LiteCore thread safety > <https://github.com/couchbase/couchbase-lite-core/wiki/Thread-Safety>. In > a nutshell: LiteCore doesn’t care what threads it’s called on, but > generally doesn’t allow multiple concurrent calls involving the same > database (or objects derived from the database, like documents or queries.) > The document spells out the concurrency limitations of every API call. > Great, this may even work. :-) > > —Jens > > -- > You received this message because you are subscribed to a topic in the > Google Groups "Couchbase Mobile" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/mobile-couchbase/4B6RDHriNak/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/mobile-couchbase/ADA3DF60-C429-49A7-A489- > CDF73CA8F601%40couchbase.com > <https://groups.google.com/d/msgid/mobile-couchbase/ADA3DF60-C429-49A7-A489-CDF73CA8F601%40couchbase.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- - - - - - Matias Piipari, PhD http://twitter.com/mz2 Manuscripts - A writing tool like nothing you have seen before http://manuscriptsapp.com -- You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/CAJUwHJg9sAzT2RDNoV6Hf3etA4XYRixKuw-dx65t5rT8PaFWLQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
