Skip to content
This repository was archived by the owner on Dec 15, 2021. It is now read-only.
This repository was archived by the owner on Dec 15, 2021. It is now read-only.

Rewrite project as thin wrapper on react-native-leveldb #7

@andymatuschak

Description

@andymatuschak

Now that @savv has written a TurboModules implementation of the native LevelDB bindings (https://github.com/greentriangle/react-native-leveldb), this library should become a thin abstract-leveldown adapter for that interface:

  • that native module will be much faster than this one, since TurboModules has a much more efficient FFI (avoids marshaling and encoding/decoding data)
  • that library supports null-terminated keys/values (see strings are incorrectly null-terminated #6)
  • that library has a shared iOS / Android implementation, lowering the maintenance burden

One observation: that library supports synchronous access of the DB, while abstract-leveldown mandates asynchronous semantics (i.e. inserting nextTick even when data can be requested immediately). That seems like a shame; perhaps we should have some special high-performance option which retains the synchronous semantics, at the cost of breaking abstract-leveldown's assumptions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions