Adam Hathcock 0b1de566df Async GetObject and Async Deserialization (#95)
* Use Concurrent Dictionaries and ignore case on them to avoid ToLower

* remove single array allocation

* allocate GetClosures differently

* Use JsonReader for closures

* add comment

* use isdefined

* more readonly with less allocations

* sorts

* fmt

* use element type when making an array

* first pass

* Fix reading for object and array

* serialization works?

* Fix closure parsing

* things are way faster

* Deserialize is async

* fmt

* renames

* remove deserialize threads

* fmt

* faster to use ordinal compare

* serialization looks okay

* fix closure writing

* fixes

* use possibly different values for compute id

* use closure parser on download

* memory test for blobs

* decompose serialization

* fmt

* fmt

* for decomposing, values should be used instead of original

* set id after computing it

* redo more closure parsing

* fix memory test

* don't throw on try get deserialized

* fmt

* fix integration tests

* fix tests

* disable memory blob storage by default

* put back ?

* merge fixes and delete worker threads

* fmt

* serialization of old floats pass

* serialization of old floats pass

* rename class

* Use async/await on GetObject

* await deserialization

* fmt

* uncomment and fix tests

* don't allow things to exist in the closure table that doesn't exist

* detach blob tests

* rename serializer

* async more correct

* revert

* fix merge

* fix blob tests again

* more fixes

* Fix building

* async fixes

* more async fixes

* fix tests?

* rename GetId to GetIdAsync

* clean up

* more cleanup

* fmt

* fix test

* fix analyzer errors

* use ConcurrentDictionary to be thread safe
2024-09-04 13:45:56 +01:00
2024-07-12 15:15:19 +01:00
2024-07-16 10:09:41 +01:00
2024-06-21 08:42:42 +01:00
2024-06-21 08:42:42 +01:00
2024-06-21 08:42:42 +01:00
2024-07-09 13:56:03 +01:00
2024-06-21 12:33:24 +01:00
2024-06-21 13:18:10 +01:00
2024-07-09 13:56:03 +01:00
2024-06-21 08:42:42 +01:00
2024-06-21 08:42:42 +01:00
2024-06-21 08:42:42 +01:00
2024-06-21 08:42:42 +01:00
2024-07-10 15:45:06 +00:00
2024-07-09 13:56:03 +01:00

Core

Twitter Follow Community forum users website docs

codecov

Disclaimer

This is an early alpha release, not meant for use in production! We're working to stabilise the 3.0 API, and until then there will be breaking changes. You have been warned!

Introduction

Core

Core is the .NET SDK for Speckle 3.0. It uses .NET Standard 2.0 and has been tested on Windows and MacOS.

Documentation

Comprehensive developer and user documentation can be found in our:

📚 Speckle Docs website

Developing & Debugging

Building

Make sure you clone this repository together with its submodules: git clone https://github.com/specklesystems/speckle-sharp-sdk.git -recursive. Afterwards, just restore all the NuGet packages and hit Build!

Developing

This project is evolving fast, to better understand how to use Core we suggest checking out the Unit and Integration tests. Running the integration tests locally requires a local server running on your computer.

We'll be also adding preliminary documentation on our forum.

Tests

There are two test projects, one for unit tests and one for integration tests. The latter needs a server running locally in order to run.

Contributing

Before embarking on submitting a patch, please make sure you read:

Community

The Speckle Community hangs out on the forum, do join and introduce yourself & feel free to ask us questions!

License

Unless otherwise described, the code in this repository is licensed under the Apache-2.0 license.

S
Description
The Speckle SDK/Core for V3
Readme 45 MiB
Languages
C# 100%