* Cancel all channels when first exception happens then throw that exception
* Use single exception to end things.
* fix verifications
* fmt
* Fix tests as stacktrace was removed
* Handle one exception and cancel on receive
* moved ThrowIfFailed and made throw speckle exceptions
* Fixed tests
* fmt
* Batches size now affects sending size accurately. Use extensions to help test this
* format
* add more and use extensions
* Rework to make things clear
* Serialize now waits for the scheduler to be completed before returning
* formatting
* wait in deserialize too
* Pass cancellation token to download, refactor how things are passed/created
* responses are now streamed and cancel them earlier
* format
* add manual empty message for sending that definitely knows when the channels are empty
* Fix configure awaits
* more configure await false
* add ability for objectloader to skip server too. add test so both cache and server can't be skipped
* move testing project to correct dir
* remove extra file
* Don't log cancelling
* redo exception handling for receive
* remove null test case
* clean up with Id/Json and more cancels
* Change the exception stacks
* fix serialization test
* make a custom scrubber for internalized exceptions
* clean up
* fix namespaces again :(
* adjust the scrubber
* try to make tests more predictable
* rework exceptions again
* strip out compile files used
* formatting
* custom exception validation
* fix init
* Move serialization to own class
* save serialize test
* add deep clean
* add cancellation test on save to cache
* cancellation tests
* format
* do DI correctly
* receive cancel works
* Add exception handling for SerializeProcess with CancellationTokenSource
* formatting
* add exception test to make sure we handle a server exception
* add extra exception and handling to stop
* add comment and another test
* one last chance for user to cancel
* formatting
* snapshot testing with verify
* formatting
* add back old serialization tests
* pass verify
* use json correctly
* formatting
* Don't use Quibble and order ourselves because ordering doesn't matter
* whitespace on snapshot
* Better json diffing? Quibble is back
* add common project
* add object unit tests to see how verify would work
* format
* move random exes to new solution folder
* update lock files
* xunit unit tests
* most pass with formatting
* convert objects to xunit
* remove nunit
* format
* merge fixes
* switch objects to fluent assertions
* update to fluent assertions
* more FA
* convert all to FA
* Format
* Fix tests
* formatting
* hopefully made credential test better
* Catch more specific exception
* use another more specific exception
* Fix tests
* update to xunit
* update packages
* add ServerObjectManagerFactory
* add usage of a command pool
* add more disposal
* save saving increase
* fix tests
* fixes
* push out concurrency and disposablity
* Add a custom task scheduler
* Better usage, don't wait to enqueue to save to channels
* Completely pre-cal batch size to avoid spinning issues
* Try to fix cache counting
* properly dispose things
* format
* clean up
* adjust count and save on current thread
* move batch it's own file
* update a few packages
* fix build and add batch tests
* revert and format
* Revert "save saving increase"
This reverts commit 3b50c857fb.
* revert change
* adjust and add tests
* Dispose sqlite manager properly
* Make Batch a IMemoryOwner to allow for pooling
* Fix tests
* Upgrade some deps
* try to make tests more explicit
* remove return value
* Add detailed SqLiteJsonCacheException
* details changes
* add ServerObjectManagerFactory
* add usage of a command pool
* add more disposal
* save saving increase
* fix tests
* fixes
* push out concurrency and disposablity
* Add a custom task scheduler
* Better usage, don't wait to enqueue to save to channels
* Completely pre-cal batch size to avoid spinning issues
* Try to fix cache counting
* properly dispose things
* format
* clean up
* adjust count and save on current thread
* move batch it's own file
* update a few packages
* fix build and add batch tests
* revert and format
* Revert "save saving increase"
This reverts commit 3b50c857fb.
* revert change
* adjust and add tests
* Dispose sqlite manager properly
* Make Batch a IMemoryOwner to allow for pooling
* Fix tests
* Upgrade some deps
* try to make tests more explicit
* remove return value
* Use named tuple for all objects
* Add a custom task scheduler
* Better usage, don't wait to enqueue to save to channels
* Completely pre-cal batch size to avoid spinning issues
* Try to fix cache counting
* properly dispose things
* format
* clean up
* adjust count and save on current thread
* move batch it's own file
* update a few packages
* fix build and add batch tests
* disable channels when skipping things
* pass child closures to current. Current closures out to parent.
* fix build
* adjust options
* use a dictionary pool and pool correctly
* add pools for data chunks
* format
* add list pool creation
* add back base cache for closures
* use bounded channels and tell them to wait
* format and add exception
* adding back json cache?
* nevermind
* format
* add option to skip total finding
* add some comments
* Remove operator overloading and Equals/GetHashCode which caused problems
* properly have nullability annotations on Base
* redeux known nullables
* fmt
* more nullability
* fmt
* remove point equality operator
* Revert "Remove operator overloading and Equals/GetHashCode which caused problems"
This reverts commit 6b5d3f1462.
* Revert "remove point equality operator"
This reverts commit 9b14330147.
* revert nullable accounts
* fix build issues
* refactor options to use on factories, add dummies
* format
* reduce lists to yield return
* get primitives first to avoid to string
* fmt
* add cache base option
* Can debug dependencies
* Different exceptions
* Uses root id only after we found it to signal the end
* DataChunks are created later and need to be accounted for
* format
* use app ids in tests and references
* check sqlite cache after serialize
* use dummy to go through channels to end
* fmt
* Extend channel lib to batch by size
* fmt
* build fix
* adjust limits
* FIx sending
* Optimize reference generation
* more
* remove tolist
* rework closures to be constant and serializer only deals with current....references bases are cached
* fix chunk creation
* another bug fix
* clean up with factories
* add deserializer factory
* Needed to reference interface
* add Id and Json types
* Fix tests
* remove optional
* add another missing id write
* fix merge
* Fix new code
* Can debug dependencies
* Different exceptions
* Uses root id only after we found it to signal the end
* DataChunks are created later and need to be accounted for
* format
* use app ids in tests and references
* check sqlite cache after serialize
* use dummy to go through channels to end
* fmt
* Extend channel lib to batch by size
* fmt
* build fix
* adjust limits
* FIx sending
* Optimize reference generation
* more
* remove tolist
* rework closures to be constant and serializer only deals with current....references bases are cached
* fix chunk creation
* another bug fix
* clean up with factories
* add deserializer factory
* Needed to reference interface
* move around streamId
* some clean up
* Use StringBuilder pool on serialization to reduce memory pressure
* remove extra
* remove extra clears
* Fix a flaw in batchsize
* use default complete
* format
* loader should use 1 writer that is batched
* remove redundant ref gen
* Fix graphql commands by adding project id