You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**PufferDB** is a :zap: key-value database powered by **P**rotocol B**uffer**s (aka [Protobuf](https://developers.google.com/protocol-buffers/)).
13
13
14
-
The intent of this library is to provide a efficient, reliable and Android **independent** storage.
14
+
The purpose of this library is to provide an efficient, reliable and Android **independent** storage.
15
15
16
-
Why Android independent? The SharedPreferences and many great third-party libraries (like [Paper](https://github.com/pilgr/Paper/) and [MMKV](https://github.com/Tencent/MMKV/)) requires the Android Context to work (they're Android *dependents*). But if you are like me and want a **kotlin-only data module** (following the principles of [Clean Architecture](https://antonioleiva.com/clean-architecture-android/)), this library is for you!
16
+
Why Android independent? The [SharedPreferences](https://developer.android.com/reference/android/content/SharedPreferences) and many great third-party libraries (like [Paper](https://github.com/pilgr/Paper/) and [MMKV](https://github.com/Tencent/MMKV/)) requires the Android Context to work (they're Android *dependents*). But if you are like me and want a **kotlin-only data module** (following the principles of [Clean Architecture](https://antonioleiva.com/clean-architecture-android/)), this library is for you!
17
17
18
18
### About Protobuf
19
19
@@ -23,7 +23,7 @@ Protocol Buffers are a language-neutral, platform-neutral extensible mechanism f
23
23
* Fast (benchmark coming soon™)
24
24
* Works on [Android and JVM](#platform-compatibility)
25
25
*[Simple API](#core)
26
-
*[Thread-safe](#thread-safe)
26
+
*[Thread-safe](#threading)
27
27
* Wrappers for [Coroutines](#coroutines) and [RxJava](#rxjava)
28
28
29
29
### Supported types
@@ -77,7 +77,7 @@ Current version: [
@@ -103,14 +103,14 @@ puffer.apply {
103
103
}
104
104
```
105
105
106
-
But unlikely`SharedPreferences`, there's no `apply()` or `commit()`. Changes are saved every time a write operations happens.
106
+
But unlike`SharedPreferences`, there's no `apply()` or `commit()`. Changes are saved every time a write operation happens.
107
107
108
108
PufferDB keeps an immutable and read-only memory cache for fast reads.
109
109
110
110
#### Threading
111
-
PufferDB uses the [`ReentrantReadWriteLock`](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html) to ensure that read-write operations will run concurrently.
111
+
PufferDB uses the [`ReentrantReadWriteLock`](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html) to ensure thread-safe read-write operations.
112
112
113
-
You *can* run the API methods in the Android Main Thread, but you *shouldn't* do that! Please, use one of the wrapper modules or extension functions instead.
113
+
You *can* run the API methods on the Android Main Thread, but you *shouldn't* do this! Please, use one of the wrapper modules or built in extension functions instead.
114
114
115
115
### Android
116
116
The Android module contains an `AndroidPufferDB` helper class:
0 commit comments