Commit graph

847 commits

Author SHA1 Message Date
Andrew Jeffery
933bf5ee07 Return an error when getting clock for missing hash 2022-05-20 10:05:08 +01:00
Andrew Jeffery
c2765885fd Maintain incremental clocks 2022-05-20 10:05:08 +01:00
Andrew Jeffery
5e088ee9e0 Document clock module and add merge function 2022-05-20 10:05:08 +01:00
Andrew Jeffery
1b34892585 Add num_ops to change to quickly get the len 2022-05-20 10:05:08 +01:00
Andrew Jeffery
0de37d292d Sort change results from clock search 2022-05-20 10:05:08 +01:00
Andrew Jeffery
b9a6b3129f Add method to get changes by clock 2022-05-20 10:05:08 +01:00
Andrew Jeffery
11fbde47bb Use HASH_SIZE const in ChangeHash definition 2022-05-20 10:04:32 +01:00
Andrew Jeffery
70021556c0
Merge pull request #373 from jeffa5/sync-opt
Sync opt
2022-05-19 13:42:10 +01:00
Andrew Jeffery
e8e42b2d16 Remove need to collect hashes when building bloom filter 2022-05-19 10:41:23 +01:00
Andrew Jeffery
6bce8bf4fd Use vec with capacity when calculating bloom probes 2022-05-19 10:40:44 +01:00
Orion Henry
c7429abbf5
Merge pull request #369 from automerge/webpack
Webpack
2022-05-17 10:28:12 -07:00
Orion Henry
24fa61c11d
Merge pull request #370 from jeffa5/opt-seek-op
Optimise seek op and seek op with patch
2022-05-17 10:27:58 -07:00
Andrew Jeffery
d89669fcaa Add apply benchmarks 2022-05-16 23:13:35 +01:00
Andrew Jeffery
43c4ce76fb Optimise seek op with patch 2022-05-16 23:07:45 +01:00
Andrew Jeffery
531e434bf6 Optimise seek op 2022-05-16 22:45:41 +01:00
Orion Henry
e1f3ecfcf5 typescript implicit any 2022-05-16 15:09:55 -04:00
Orion Henry
409189e36a
Merge pull request #368 from jeromegn/rollback-no-actors
Don't remove last actor when there are none
2022-05-16 08:39:03 -07:00
Orion Henry
81dd1a56eb add start script - split up outputs 2022-05-16 11:33:08 -04:00
Jerome Gravel-Niquet
7acb9ed0e2
don't remove last actor when there are none 2022-05-16 10:56:10 -04:00
Orion Henry
d01e7ceb0e add webpack example and move into wasm folder 2022-05-15 11:53:55 -04:00
Orion Henry
aa5a03a0c4 webpack example config 2022-05-15 11:53:04 -04:00
Orion Henry
f6eca5eec6
Merge pull request #362 from jeffa5/range-rev
Add tests and fixes for double ended map range iterator
2022-05-12 09:02:05 -07:00
Orion Henry
b17c86e36e
Merge pull request #365 from automerge/opset-iter-nth
Implement OpTreeIter::nth correctly
2022-05-12 09:00:29 -07:00
Andrew Jeffery
f373deba6b Add length assertion 2022-05-11 21:15:50 +01:00
Andrew Jeffery
8f71ac30a4 Add index info to op_tree panic message 2022-05-11 20:26:39 +01:00
Alex Good
4e431c00a1
Implement OpTreeIter::nth correctly
The previous implementation of nth was incorrect, it returned the nth
element of the optree but it did not modify the internal state of the
iterator such that future calls to `next()` were after the nth element.
This commit fixes that.

Signed-off-by: Alex Good <alex@memoryandthought.me>
2022-05-09 23:11:18 +01:00
Alex Good
004d1a0cf2
Update CI toolchain to 1.60 2022-05-09 22:53:39 +01:00
Orion Henry
d6a6b34e99
Merge pull request #364 from jkankiewicz/improve_symmetry
C API symmetry improvements
2022-05-07 11:03:34 -04:00
Jason Kankiewicz
fdd3880bd3 Renamed AMalloc() to AMcreate().
Renamed `AMload()` to `AMloadIncremental()`.
Added the `AMload()` function.
2022-05-07 09:55:05 -05:00
Orion Henry
f0da2d2348
Merge pull request #361 from jkankiewicz/quickstart_error_reporting
Improve error reporting in C quickstart example.
2022-05-06 11:18:01 -04:00
Jason Kankiewicz
b56464c2e7 Switched to C comment delimiting. 2022-05-06 04:59:47 -05:00
Jason Kankiewicz
bb3d75604a Improved the documentation slightly. 2022-05-06 04:51:44 -05:00
Jason Kankiewicz
eb3155e49b Sorted main() to the top. Documented test(). 2022-05-06 04:50:02 -05:00
Andrew Jeffery
28a61f2dcd Add tests and fixes for double ended map range iterator 2022-05-06 09:49:00 +01:00
Jason Kankiewicz
944e5d8001 Trap and report all errors. 2022-05-05 21:21:46 -05:00
Andrew Jeffery
7d5eaa0b7f Move automerge unit tests to new file for clarity 2022-05-05 14:58:22 +01:00
Andrew Jeffery
5b15a04516 Some tidies 2022-05-05 14:52:01 +01:00
Orion Henry
dc441a1a61
Merge pull request #360 from jkankiewicz/add_quickstart
Add a port of Rust's quickstart to the C API
2022-05-04 10:28:14 -04:00
Orion Henry
3f746a0dc3
Merge pull request #358 from jeffa5/msrv
Use an MSRV in CI
2022-05-04 10:23:58 -04:00
Orion Henry
c43f672924
Merge pull request #356 from automerge/values_range_fix
fixed panic in doc.values() - fixed concurrency bugs in range
2022-05-04 10:22:46 -04:00
Orion Henry
fb8f3e5d4e fixme: performance 2022-05-04 10:09:50 -04:00
Orion Henry
54042bcf96 and unimplemented double ended iterator 2022-05-04 09:50:27 -04:00
Jason Kankiewicz
729752dac2 De-emphasized the AMload() call's result. 2022-05-04 08:27:15 -05:00
Jason Kankiewicz
3cf990eabf Fixed some minor inconsistencies in quickstart.c. 2022-05-04 07:45:05 -05:00
Jason Kankiewicz
069c33a13e Moved the AMbyteSpan struct into its own source
file.
Added the `AMchangeHashes` struct.
Added the `AMchange` and `AMchanges` structs.
Tied the lifetime of an `AMobjId` struct to the `AMresult` struct that
it's returned through so that it can be used to reach equivalent objects
within multiple `AMdoc` structs.
Removed the `AMfreeObjId()` function.
Renamed `AMallocDoc()` to `AMalloc()`.
Added the `AMcommit()` function.
Added the `AMgetChangeHash()` function.
Added the `AMgetChanges()` function.
Added the `AMgetMessage()` function.
Added the `AMlistDelete()` function.
Added the `AMlistPutBool()` function.
Added the `AMmapDelete()` function.
Added the `AMmapPutBool()` function.
Added the `AMobjSizeAt()` function.
Added the `AMsave()` function.
Renamed the `AMvalue::Nothing` variant to `AMvalue::Void`.
Changed all `AMobjId` struct function arguments to be immutable.
2022-05-04 01:04:43 -05:00
Jason Kankiewicz
58e0ce5efb Renamed the AMvalue::Nothing variant to AMvalue::Void.
Tied the lifetime of an `AMobjId` struct to the `AMresult` struct that
it's returned through so that it can be used to reach equivalent objects
within multiple `AMdoc` structs.
Added test cases for the `AMlistPutBool()` function.
Added a test case for the `AMmapPutBool()` function.
2022-05-04 01:04:43 -05:00
Jason Kankiewicz
c6e7f993fd Moved the AMbyteSpan struct into its own source
file.
Added the `AMchangeHashes` struct.
Added the `AMchange` and `AMchanges` structs.
Added `ChangeHashes` and `Changes` variants to the `AMresult` struct.
Renamed the `AMvalue::Nothing` variant to `AMvalue::Void`.
Tied the lifetime of an `AMobjId` struct to the `AMresult` struct that
it's returned through so that it can be used to reach equivalent objects
within multiple `AMdoc` structs.
Consolidated the `AMresult` struct's related trait implementations.
2022-05-04 01:04:43 -05:00
Jason Kankiewicz
30b220d9b7 Added a port of the Rust quickstart example. 2022-05-04 01:04:43 -05:00
Jason Kankiewicz
bf6ee85c58 Added the time_t header. 2022-05-04 01:04:43 -05:00
Orion Henry
a728b8216b range -> map_range(), added list_range() values() works on both 2022-05-03 19:27:51 -04:00