Commit Graph

50 Commits

Author SHA1 Message Date
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
Jedd Morgan 5e0ea324c3 Re-introduced code analysers and fixed many violations (#92)
* Sdk

* Objects

* Supressed IDE warnings via editor config instead of nowarn

* Nullability and other warnings

* using

* Fixed warnings

* Important fix

* More fixes
2024-09-04 11:49:35 +00:00
Adam Hathcock 22f4945d71 Json reader deserialize (#88)
* 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

* uncomment and fix tests

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

* detach blob tests

* rename serializer

* revert

* fix blob tests again
2024-09-03 15:53:50 +01:00
Jedd Morgan c0f8949705 Jedd/cxpla 33 move performance test project (#87)
* Moved performance test project

* register types

* perf tests
2024-09-02 15:41:48 +00:00
Jedd Morgan 2b46792a82 Fixed issue with Km unit scalling (#93) 2024-08-28 13:27:42 +02:00
Adam Hathcock 4c3e572bfe clean up from progress (#78)
* progress intermediate commit

* add progress for download

* remove unused code

* remove batch sent callbacks

* multi-threaded deserialize works

* Progress for download and deserialization

* Fix tests

* Have less indeterminate deserialization

* fix deserialization

* make download faster with buffered stream

* put local receive back

* remove unused callback

* fmt

* Progress for serialization and upload

* fix uploading

* clean up from progress

* merge fixes and fmt
2024-08-22 11:18:16 +01:00
Adam Hathcock 0f116ad847 Base caching on TypeLoader (#82)
* Base caching on TypeLoader

* fmt

* add back types
2024-08-22 11:11:53 +01:00
Jedd Morgan 9916048921 Long Send Resiliency (#89)
* LongSendTest

* Moved to separate project

* Server transport throws early

* raised timeouts

* Use poly for timeout

* Cleaned up some of the AsyncPolicy construction

* GraphQL Client back to 30 second timeout
2024-08-21 18:52:23 +01:00
Jedd Morgan b14c8db8d3 Required keyword on various types (#76)
* Made bounding boxes nullable

* Required keyword for Polyline

* Curve

* others

* Interval

* Breps!

* more changes

* removed resolved todo comment

* Fixed comment

* resolved alan's comments

* surfaces
2024-08-16 13:21:05 +01:00
Adam Hathcock dc4da49078 Add Progress for transfers (#74)
* progress intermediate commit

* add progress for download

* remove unused code

* remove batch sent callbacks

* multi-threaded deserialize works

* Progress for download and deserialization

* Fix tests

* Have less indeterminate deserialization

* fix deserialization

* make download faster with buffered stream

* put local receive back

* remove unused callback

* fmt
2024-08-15 10:43:41 +02:00
Adam Hathcock ea5ed874a3 Remove extra SaveObject (#75)
* Remove extra SaveObject

* fmt
2024-08-15 09:30:24 +02:00
Adam Hathcock d269ac73dd Disallow SpeckleType inheritance (#71)
* Disallow SpeckleType inheritance

* fmt

* more tests
2024-08-13 14:32:58 +00:00
Jedd Morgan 66b3c5e60c Added DUI3 Operations.Send changes to Sdk (#68)
* Added DUI3 Operations.Send changes to Sdk

* Tests

* more tests

---------

Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
2024-08-12 18:28:35 +01:00
Jedd Morgan cfc4018bd3 removed a bunch of obsolete (#65)
* removed a bunch of obsolete

* Accidental trailing char
2024-08-12 11:49:43 +01:00
Jedd Morgan 4b74ca8607 Some tweaks r.e. JsonIgnore (#64)
* Removed total children count

* Some random tweaks

* JsonIgnore tests

* Ignore base
2024-08-12 09:03:56 +00:00
Jedd Morgan 78faa71592 Collection name space change (#66) 2024-08-08 12:32:41 +00:00
Adam Hathcock 6f5f044095 Adam/cxpla 6 kill remaining kit code in core (#59)
* compiles with relevant deletions

* Test fixes

* fix type loading

* type load for tests

* speckle objects renamespace

* rename Core to Sdk

* Fix test references

* tests renaming

* rename logging

* fmt

* start of adding an attribute to all base types

* convert all types and do basic test

* Fix most tests

* fix more tests

* fmt

* Build fix

* add changes and more tests

* Fix tests

* Fix integration tests
2024-08-08 10:52:19 +01:00
Adam Hathcock 7148aa0a6f Refining OTEL/Logging configuration (#57)
* More defined configuration

* more config changes and fmt

* fix usages of app versions

* add endpoints and remove seq

* forgot to commit

* Fixes around tracing

* use more strong typing

* add test
2024-08-06 16:24:55 +01:00
Adam Hathcock 77ffcead69 Speckle.Logging with ILRepack (#54)
* Revert SQLite to allow side by side

* Update Serilog to 3.1.1 and remove Sentry

* fmt

* Revert serilog change

* first pass

* downgrade to MELA 2.2 to avoid conflicts

* add otel

* Speckle.Logging proper

* move otel and logging to make core dependant

* readd configuration

* revert namespace and add console tracing

* fmt

* Remove extra usings

* readd serilog

* fix deps

* remove extras for build

* some reversions

* add more context

* Fix conversion

* More explicit

* Revert naming

* back to public loggerfactory

* Remove more obsolete things

* Drop ME.Logging dependency and expose logging interface

* restore integration test compose

* fmt

* remove the ME Logging dependency
2024-07-31 15:37:10 +01:00
Adam Hathcock e79716c5f0 Remove Sentry (#49)
* Revert SQLite to allow side by side

* Update Serilog to 3.1.1 and remove Sentry

* fmt

* Revert serilog change
2024-07-29 16:10:26 +01:00
Adam Hathcock 02f75c717c Add NotNull Empty and tests (#51) 2024-07-24 15:05:44 +01:00
Adam Hathcock 059253ff39 Revert SQLite to allow side by side (#48) 2024-07-24 11:38:34 +01:00
Adam Hathcock 5c7a96b960 ensure proper disposal of transports from di factory (#44)
* Rework servertransport to have proper interface and factory

* fmt

* rename class

* exclude factory from tests
2024-07-18 16:13:17 +01:00
Claire Kuang a16bc4eae0 updates tests 2024-07-17 14:28:51 +01:00
Claire Kuang 04446b9e79 changes namespace of collections and adds interfaces 2024-07-17 10:40:55 +01:00
Jedd Morgan baf5ab0b14 Fixed mistake (#32) 2024-07-16 10:47:56 +01:00
Adam Hathcock 057aef10c0 Merge pull request #31 from specklesystems/fixed-versions
Use GitVersion.MsBuild
2024-07-16 10:16:01 +01:00
Jedd Morgan e088e139af fix(core): Fixed regression with displayValue helper functions (#30) 2024-07-16 11:06:50 +02:00
Adam Hathcock dc62aa22b9 Use GitVersion.MsBuild 2024-07-16 10:06:29 +01:00
Adam Hathcock cd67efdfff Use the non-prerelease DoubleNumerics package (#29) 2024-07-16 08:15:28 +00:00
Adam Hathcock 1112ec39ab clean up tests and altcover the integration tests 2024-07-12 15:42:40 +01:00
Adam Hathcock b23e91651c switch from minver to gitversion 2024-07-12 15:15:19 +01:00
Jedd Morgan da792173ff Added new Version Mutations (#25) 2024-07-11 14:03:02 +01:00
Adam Hathcock 6778b7086c All int tests on CI: Don't run non-int tests during int tests. Reduce logging level (#20)
* Add Integration tests to CI (#19)

* Add Instances base (#6)

* Use Uri for checks in GetAccounts function (#8)

* Add integration and perf tests to sln (#9)

* Remove perf tests (#10)

* remove perf tests

* do all unit tests

* Code coverage (#11)

* code coverage

* enable codecov for GA

* Update README.md

* Update coverage and dependencies (#12)

* Update coverage and dependencies

* fmt

* add codecov config

* merge DUI3/Alpha into sdk (#13)

* merge DUI3/Alpha into sdk

* formatting

* Merge Objects dui3/alpha -> dev (#14)

* merge DUI3/Alpha into sdk

* formatting

* Objects changes

* Objects tests

* Unit test project

* add coverage exclusion

* fix some tests and fix nullability errors

* update codecov to be less intrusive (#15)

* update codecov to be less intrusive

* fix codecov yaml

* add coverage exclusion

* Merge sharp `dui3/alpha` -> sdk `main` (#16)

* Merge

* csharpier format

* Fixed polysharp issues

* Integration Tests

* Fixes

* add build for docker compose

* add integration tests

* remove extra services

* update healthcheck for server

---------

Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>

* Don't run non-int tests during int tests.  Reduce logging level

---------

Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
2024-07-10 13:52:19 +01:00
Adam Hathcock 3249265560 Merge branch 'dev' 2024-07-09 13:58:09 +01:00
Adam Hathcock 200b84f49a Main to dev (#18)
* Add Instances base (#6)

* Use Uri for checks in GetAccounts function (#8)

* Add integration and perf tests to sln (#9)

* Remove perf tests (#10)

* remove perf tests

* do all unit tests

* Code coverage (#11)

* code coverage

* enable codecov for GA

* Update README.md

* Update coverage and dependencies (#12)

* Update coverage and dependencies

* fmt

* add codecov config

* merge DUI3/Alpha into sdk (#13)

* merge DUI3/Alpha into sdk

* formatting

* Merge Objects dui3/alpha -> dev (#14)

* merge DUI3/Alpha into sdk

* formatting

* Objects changes

* Objects tests

* Unit test project

* update codecov to be less intrusive (#15)

* update codecov to be less intrusive

* fix codecov yaml

* add coverage exclusion

* Merge sharp `dui3/alpha` -> sdk `main` (#16)

* Merge

* csharpier format

* Fixed polysharp issues

* Integration Tests

* Fixes

* Some nullability fixes (#17)

* add coverage exclusion

* fix some tests and fix nullability errors

---------

Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
2024-07-09 13:56:03 +01:00
Jedd Morgan 1268a08baf Merge sharp dui3/alpha -> sdk main (#16)
* Merge

* csharpier format

* Fixed polysharp issues

* Integration Tests

* Fixes
2024-07-09 12:32:24 +01:00
Jedd Morgan 29e7e84f4e Merge Objects dui3/alpha -> dev (#14)
* merge DUI3/Alpha into sdk

* formatting

* Objects changes

* Objects tests

* Unit test project
2024-07-08 16:30:54 +01:00
Adam Hathcock 82b7ca1a26 Update coverage and dependencies (#12)
* Update coverage and dependencies

* fmt

* add codecov config
2024-07-04 10:14:38 +01:00
Adam Hathcock f26f79c3c8 Code coverage (#11)
* code coverage

* enable codecov for GA
2024-07-04 09:43:16 +01:00
Adam Hathcock a0b723b2cb Remove perf tests (#10)
* remove perf tests

* do all unit tests
2024-07-04 09:34:57 +01:00
Adam Hathcock 1b472be6b7 Add integration and perf tests to sln (#9) 2024-07-02 18:24:44 +01:00
Adam Hathcock d9d1865504 downgrade sqlite to match core 2024-06-25 10:57:44 +01:00
Adam Hathcock 405f3f4ee4 renamespace and other fixes (#2)
* renamespace

* add to sln and move

* manage package centrally

* add sourcelink and use GlobalPackageReference

* properly use globals

* fix nuget push

* fix readme

* add namespace handling for new types

* Removing used classes to stop viral spread of dependencies.  Some JSON usage was STJ and not newtonsoft

* fmt

* initial test

* serialization namespace test

* fmt

* put back old namespaces

* fix tests

* fixes while trying to do a roundtrip test

* remove namespace fix
2024-06-25 10:27:59 +01:00
Adam Hathcock ca350002ba add packing and minver (#1)
* add packing and minver

* update permissions

* fix build script

* fix it again :(

* fmt

* update sqlite to avoid rid warning
2024-06-21 13:18:10 +01:00
Adam Hathcock 2269182922 fmt 2024-06-21 12:33:55 +01:00
Adam Hathcock ebec2c5bd2 add misc 2024-06-21 10:40:54 +01:00
Adam Hathcock a74ead9bd7 tests pass and everything compiles 2024-06-21 10:36:21 +01:00
Adam Hathcock f46aa4f50b compiles and tests pass 2024-06-21 10:23:34 +01:00
Adam Hathcock afde379cda trying to move core 2024-06-21 08:42:42 +01:00