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.

Reply via email to