Commit graph

814 commits

Author SHA1 Message Date
Jason Kankiewicz
1990f29c60 Obfuscated most implementation details of the
`AMChanges` struct.
Added `AMchangesReverse()`.
2022-06-04 19:13:22 -07:00
Jason Kankiewicz
b38be0750b Obfuscated most implementation details of the
`AMChangeHashes` struct.
Added `AMchangeHashesReverse()`.
2022-06-04 18:51:57 -07:00
Orion Henry
3866e9066f
Merge pull request #381 from jkankiewicz/unify_C_API_results
Simplify management of memory allocated by C API calls
2022-06-02 10:14:55 -07:00
Orion Henry
51554e7793
Merge pull request #377 from jeffa5/more-sync-opt
Some more sync optimisations
2022-06-02 10:14:44 -07:00
Jason Kankiewicz
afddf7d508 Fix "fmt" script violations.
Fix "lint" script violations.
2022-06-01 23:34:28 -07:00
Jason Kankiewicz
ca383f03e4 Wrapped all newly-allocated values in an AMresult struct.
Removed `AMfree()`.
Renamed `AMresultFree()` to `AMfree()`.
Removed type names from brief descriptions.
2022-06-01 23:10:23 -07:00
Orion Henry
de25e8f7c8
Merge pull request #380 from jkankiewicz/add_syncing_to_C_API
Add syncing to C API
2022-06-01 13:46:55 -07:00
Orion Henry
27dfa4ca27 missed some bugs related to the wasm api change 2022-06-01 16:31:18 -04:00
Orion Henry
9a0dd24714 fmt / tests 2022-06-01 08:08:01 -04:00
Orion Henry
8ce10dab69 some api changes/tweaks - basic js package 2022-05-31 13:49:18 -04:00
Jason Kankiewicz
fbdb5da508 Ported 17 synchronization unit test cases from JS
to C.
2022-05-30 23:17:44 -07:00
Jason Kankiewicz
cdcd5156db Added the synchronization unit test suite to the
CTest suite.
2022-05-30 23:16:14 -07:00
Jason Kankiewicz
d08eeeed61 Renamed AMfreeDoc() to AMFree(). 2022-05-30 23:15:20 -07:00
Jason Kankiewicz
472b5dc348 Added the synchronization unit test suite to the
CTest suite.
2022-05-30 23:14:38 -07:00
Jason Kankiewicz
846b96bc9a Renamed AMfreeResult() to AMresultFree(). 2022-05-30 23:11:56 -07:00
Jason Kankiewicz
4cb7481a1b Moved the AMsyncState struct into its own
source file.
Added `AMsyncStateDecode()`.
Added `AMsyncStateEncode()`.
Added `AMsyncStateEqual()`.
Added `AMsyncStateSharedHeads()`.
Added `AMsyncStateLastSentHeads()`.
Added `AMsyncStateTheirHaves()`.
Added `AMsyncStateTheirHeads()`.
Added `AMsyncStateTheirNeeds()`.
2022-05-30 23:07:55 -07:00
Jason Kankiewicz
3c11946c16 Moved the AMsyncMessage struct into its own
source file.
Added `AMsyncMessageChanges()`.
Added `AMsyncMessageDecode()`.
Added `AMsyncMessageEncode()`.
Added `AMsyncMessageHaves()`.
Added `AMsyncMessageHeads()`.
Added `AMsyncMessageNeeds()`.
2022-05-30 22:58:45 -07:00
Jason Kankiewicz
c5d3d1b0a0 Added the AMsyncHaves struct.
Added `AMsyncHavesAdvance()`.
Added `AMsyncHavesNext()`.
Added `AMsyncHavesPrev()`.
Added `AMsyncHavesSize()`.
2022-05-30 22:55:34 -07:00
Jason Kankiewicz
be3c7d6233 Added the AMsyncHave struct.
Added `AMsyncHaveLastSync()`.
2022-05-30 22:54:02 -07:00
Jason Kankiewicz
9213d43850 Grouped some common macros and functions into
their own source file.
2022-05-30 22:53:09 -07:00
Jason Kankiewicz
18ee9b71e0 Grouped the AMmap*() functions into their own
source file.
2022-05-30 22:52:02 -07:00
Jason Kankiewicz
a9912d4b9f Grouped the AMlist*() functions into their own
source file.
2022-05-30 22:51:41 -07:00
Jason Kankiewicz
d9bf29e8fd Grouped AMsyncMessage and AMsyncState into
separate source files.
2022-05-30 22:50:26 -07:00
Jason Kankiewicz
546b6ccbbd Moved AMobjId into its own source file.
Added the `AMvalue::SyncState` variant.
Enabled `AMchange` structs to be lazily created.
Added the `AMresult::SyncState` variant.
Added an `Option<&automerge::Change>` conversion for `AMresult`.
Added a `Result<automerge::Change, automerge::DecodingError>` conversion
for `AMresult`.
Added a `Result<automerge::sync::Message, automerge::DecodingError>`
conversion for `AMresult`.
Added a `Result<automerge::sync::State, automerge::DecodingError>`
conversion for `AMresult`.
Moved `AMerrorMessage()` and `AMresult*()` into the source file for
`AMresult`.
2022-05-30 22:49:23 -07:00
Jason Kankiewicz
bb0b023c9a Moved AMobjId into its own source file. 2022-05-30 22:37:22 -07:00
Jason Kankiewicz
c3554199f3 Grouped related AM*() functions into separate source files. 2022-05-30 22:36:26 -07:00
Jason Kankiewicz
e56fe64a18 Added AMapplyChanges().
Fixed `AMdup()`.
Added `AMequal()`.
Renamed `AMfreeDoc()` to `AMfree()`.
Added `AMgetHeads()`.
Added `AMgetMissingDeps()`.
Added `AMgetLastLocalChange()`.
2022-05-30 22:34:01 -07:00
Jason Kankiewicz
007253d6ae Updated the file dependencies of the CMake custom
command for Cargo.
2022-05-30 22:27:14 -07:00
Jason Kankiewicz
e8f1f07f21 Changed AMchanges to lazily create AMchange structs.
Renamed `AMadvanceChanges()` to `AMchangesAdvance()`.
Added `AMchangesEqual()`.
Renamed `AMnextChange()` to `AMchangesNext()`.
Renamed `AMprevChange()` to `AMchangesPrev()`.
2022-05-30 22:24:53 -07:00
Jason Kankiewicz
3ad979a178 Added AMchangeActorId().
Added `AMchangeCompress()`.
Added `AMchangeDeps()`.
Added `AMchangeExtraBytes()`.
Added `AMchangeFromBytes()`.
Added `AMchangeHash()`.
Added `AMchangeIsEmpty()`.
Added `AMchangeMaxOp()`.
Added `AMchangeMessage()`.
Added `AMchangeSeq()`.
Added `AMchangeSize()`.
Added `AMchangeStartOp()`.
Added `AMchangeTime()`.
Added `AMchangeRawBytes()`.
Added `AMchangeLoadDocument()`.
2022-05-30 22:19:54 -07:00
Jason Kankiewicz
fb0ea2c7a4 Renamed AMadvanceChangeHashes() to AMchangeHashesAdvance().
Added `AMchangeHashesCmp()`.
Renamed `AMnextChangeHash()` to `AMchangeHashesNext()`.
2022-05-30 22:12:03 -07:00
Jason Kankiewicz
a31a65033f Renamed AMfreeResult() to AMresultFree().
Renamed `AMfreeDoc()` to `AMfree()`.
Renamed `AMnextChange()` to `AMchangesNext()`.
Renamed `AMgetMessage()` to `AMchangeMessage()`.
2022-05-30 22:08:27 -07:00
Jason Kankiewicz
5765fea771 Renamed AMfreeResult() to AMresultFree().
Remove the `&AMchange` conversion for `AMbyteSpan`.
Add a `&automerge::ActorId` conversion to for `AMbyteSpan`.
Remove the `&Vec<u8>` conversion for `AMbyteSpan`.
Add a `&[u8]` conversion for `AMbyteSpan`.
2022-05-30 22:06:22 -07:00
Jason Kankiewicz
4bed03f008 Added the AMsyncMessage struct.
Added the `AMsyncState` struct.
Added the `AMfreeSyncState()` function.
Added the `AMgenerateSyncMessage()` function.
Added the `AMinitSyncState()` function.
Added the `AMreceiveSyncMessage()` function.
2022-05-30 08:22:17 -07:00
Orion Henry
210c6d2045 move types to their own package 2022-05-27 10:23:51 -07:00
Andrew Jeffery
a569611d83 Use clock_at for filter_changes 2022-05-26 19:03:09 +01:00
Andrew Jeffery
03a635a926 Extend last_sync_hashes 2022-05-26 19:03:09 +01:00
Andrew Jeffery
97a5144d59 Reduce the amount of shuffling data for changes_to_send 2022-05-26 19:03:09 +01:00
Andrew Jeffery
03289510d6 Remove cloning their_have in sync 2022-05-26 19:03:09 +01:00
Andrew Jeffery
b1712cb0c6
Merge pull request #379 from jeffa5/apply-changes-iter
Update autocommit's apply_changes to take an iterator
2022-05-26 13:11:51 +01:00
Andrew Jeffery
dae6509e13 Update autocommit's apply_changes to take an iterator 2022-05-26 09:02:59 +01:00
Andrew Jeffery
587adf7418 Add Eq to ObjType 2022-05-24 09:48:55 +01:00
Orion Henry
df8cae8a2b README 2022-05-23 19:25:23 +02:00
Orion Henry
3a44ccd52d clean up lint, simplify package, hand write an index.d.ts 2022-05-23 19:04:31 +02:00
Orion Henry
07f5678a2b linting in wasm 2022-05-22 13:54:59 -04:00
Orion Henry
d638a41a6c record type 2022-05-22 13:53:11 -04:00
Orion Henry
bd35361354 fixed typescript errors, pull wasm dep (mostly) out 2022-05-22 13:53:11 -04:00
Scott Trinh
d2fba6bf04 Use an UnknownObject type alias 2022-05-22 13:53:11 -04:00
Orion Henry
fd02585d2a removed a bunch of lint errors 2022-05-22 13:53:11 -04:00
Orion Henry
515a2eb94b removing some ts errors 2022-05-22 13:53:11 -04:00