Commit c725c18
[Azure.Core] Add Public Model Serialization (Azure#35946)
* Update serializer (Azure#35735)
* wip
* wip
* wip
* wip
* wip
* Update serializer (Azure#35741)
* [Azure.Core] add List property tests and update ReadOnly Test (Azure#35904)
* [Azure.Core] Update SerializableOptions.cs (Azure#35947)
* [Azure.Core] add test helper for Models (Azure#35968)
* [Azure.Core] Update IJsonSerializable with non Try methods (Azure#36164)
* Add scaffolding for readme (Azure#36342)
* add scaffolding for readme
* fix type on class name
* one more typo :-(
* make tests sync
* Add use cases for explicit casts (Azure#36391)
* add use cases for explicit casts
* remove extra empty line
* add custom expected value for net462
* [Azure.Core] Update Serializer (Azure#36376)
* Add use cases for stj (Azure#36399)
* add use cases for stj
* address feedback
* add some clarification to readme
* [Azure.Core] Add public static deserializer (Azure#36402)
* wip
* wip
* wip
* Update StaticDeserializerTests.cs
* Update StaticDeserializerTests.cs
* Update StaticDeserializerTests.cs
* Add model serializer example (Azure#36418)
* add use cases for stj
* address feedback
* add some clarification to readme
* add model serializer example
* move serialization classes into azure.core.serialization
* update after namespace move
* [Azure.Core] Add NewtonSoft Json example (Azure#36453)
* Update SerializableOptions.cs
* wip
* wip
* update
* wip
* wip
* add generic modeljsonconverter (Azure#36854)
* [Azure.Core] Add Newton soft BYOM case (Azure#36794)
* wip
* Update ModelSerializer.cs
* wip
* Update ReadOnlyPropertyTests.cs
* wip
* Update SerializableOptions.cs
* Update SerializableOptions.cs
* wip
* wip
* Update SerializationSamples.cs
* regen api after merge
* Demo of what it would look like for public surface (Azure#36857)
* demo of what it would look like for public surface
* wip
* update tests and more renames
* name tweaks
* update api
* add nullable
* adjust public api surface and move test cases to public project to avoid internalsvisibleto
* integrate feature/updateSerializer
* rename IModel to IModelSerializable since it now has the serialization methods on it
* share deserialization code between converter and modelserializer
* [Azure.Core] Add XmlSerializer (Azure#37155)
* wip
* wip
* Update Serialization.md
* Update ModelXmlTests.cs
* wip
* wip
* update combined interface example
---------
Co-authored-by: m-nash <prognash@gmail.com>
* add examples for combined interface (Azure#37245)
* regen api after merge
* Update to v1 api surface (Azure#37276)
* update to v1 api surface
* update api after merge
* wip (Azure#37351)
* wip (Azure#37544)
* [Azure.Core] Update options to use Format string (Azure#37467)
* wip
* wip
* Update UsingJsonSerializerTests.cs
* wip
* Update Serialization.md
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Update ModelSerializerOptions.cs
* wip
* Update ModelSerializerOptions.cs
* Update ModelSerializerOptions.cs
* Update format to have J and W and implement json always on xml models (Azure#37815)
* update format to have J and W and implement json always on xml models
* update api
* Perf checks (Azure#37349)
* wip
* update benchmark to use a real model from compute
* update api
* add multi buffer option and benchmarks for larger object
* minor fixes on perf
* perf updates and split the xml / json interfaces so we can take Utf8JsonWriter
* add delayed RequestContent to improve implicit cast perf
* fixes after merge
* add utf8jsonreader deserialize
* update for the rest of the test models with jsonreader
* update api
* fix typo
* upload bimodal repro
* return values from benchmarks
* updates after merge
* update modelserializeroptions to a struct
* wip
* update to split request content and sequence writer
* update api
* remove static azure default options since new is zero alloc
* update api
* add non generic overloads in modelserializer
* Revert "update api"
This reverts commit 34c0f6b.
* Revert "remove static azure default options since new is zero alloc"
This reverts commit 5f7bcfa.
* wip
* updates after merge
* update api
* add memory diag by default for all benchmarks
* use fixed settings to run benchmarks faster
* add package needed to use ETW profiler in benchmark
* change dictionary to resolver factory
* update options back to class
* update to make interface generic
* remove two way implicit
* add XElement api on public interface
* update api
* swap to struct for options
* remove unused shared source
* Hide get sequence until we deal with use-after-free (Azure#37893)
* hide getsequence until we deal with use-after-free
* update api
* remove broken inheritdocs
* Testing public test project failure in ci (Azure#37894)
* testing public test project failure in ci
* mark the project as test project
* add public test to split list
* set support project to false to run tests in ci
* add failing case after merge
* remove failing test
* Address api review comments and add more xml docs (Azure#37916)
* address api review feedback
* switch options to class and add a fozen static reference
* update api
* rename WriteTo -> CopyTo
* update snippets
* update request content create to take an imodelserializable (Azure#37939)
* Mnash request conent i model serializable (Azure#37941)
* update request content create to take an imodelserializable
* make sequenceWriter internal
* update reflection case for modelserializer (Azure#37945)
* Address archboard feedback (Azure#37949)
* move convert to binary data onto modelserializer
* validate error scenarios for modelserializer
* rename default wire options
* add overload to converter ctor
* update for format overloads and docs
* update format docs
* add tests for more validation around multiple types in a single json serializer instance
* Remove xml interface (Azure#37967)
* remove IModelXmlSerializable
* update api
* Address feedback from Azure#35946 (Azure#37971)
* remove IModelXmlSerializable
* update api
* address initial feedback
* remove reference to utf8jsonreader helpers
* update debug assert
* Add some more testing around SequenceWriter (Azure#37973)
* add some tests
* more tests
* wip
* add benchmarks for RequestContent
* update request content to use sequence writer access class
* add write lock to serialization
* remove empty file
* harden flaky test
* add singletons for known format types (Azure#38007)
* Move SequenceWriter to private class (Azure#38013)
* add additional feedback on sequenceWriterAccess
* move inner private class to another file
* delete Readme and associated files (Azure#38064)
* Add tests for model serialization (Azure#38042)
* re-organize common test code and add initial tests for ModelWriter
* missed files
* update perf proj to use common testdata
* group model serializer tests
* update api
* wip
* separate read lock
* make cast succeed on null (Azure#38105)
* Make ModelSerializer compatible with AOT (Azure#38010)
* add new attribute to deterministically find the default subclass
* update test since message changed
* address comments
* add aot attributes up the call chain
* remove un-needed attribute
* add unreferenced code attribute to ModelJsonConverter
* remove attribute from jsonconverter overload
* conditionally add the unreferencedcode attribute to modeljsonconverter class
* address comments
* rename unknown subclass attribute
* Update sdk/core/Azure.Core/src/Serialization/IModelJsonSerializable.cs
Co-authored-by: Anne Thompson <annelo@microsoft.com>
* Update sdk/core/Azure.Core/src/Serialization/IModelSerializable.cs
Co-authored-by: Anne Thompson <annelo@microsoft.com>
* Update sdk/core/Azure.Core/src/Serialization/IModelSerializable.cs
Co-authored-by: Anne Thompson <annelo@microsoft.com>
* address exception feedback (Azure#38120)
* update helper so its non boxing and add struct test cases (Azure#38125)
* Address some final feedback (Azure#38130)
* hide model writer
* rename abstract hierarchy deserializer
* update wire format docs
* Minor cleanup (Azure#38137)
* address feedback
* add checks around stream with long length
* change from notsupported to format exception (Azure#38147)
* address feedback (Azure#38150)
* update changelog
---------
Co-authored-by: m-nash <64171366+m-nash@users.noreply.github.com>
Co-authored-by: m-nash <prognash@gmail.com>
Co-authored-by: Anne Thompson <annelo@microsoft.com>1 parent af51fad commit c725c18
File tree
135 files changed
+21830
-20
lines changed- common/Perf/Azure.Test.Perf
- eng
- scripts/splittestdependencies/tests/inputs
- sdk/core/Azure.Core
- api
- perf
- RequestContents
- ModelContent
- ModelJsonContent
- Serializations
- src
- Serialization
- tests
- ModelSerialization
- common
- ModelSerializationTests
- Models
- DiscriminatorSet
- ServiceModels
- TestClients/LowLevelClient
- LowLevelClientModels
- TestData
- public
- ModelSerializationTests
- Models
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
135 files changed
+21830
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
216 | 217 | | |
217 | 218 | | |
218 | 219 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
| 57 | + | |
56 | 58 | | |
57 | 59 | | |
58 | 60 | | |
| |||
131 | 133 | | |
132 | 134 | | |
133 | 135 | | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
134 | 140 | | |
135 | 141 | | |
136 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
539 | 539 | | |
540 | 540 | | |
541 | 541 | | |
| 542 | + | |
| 543 | + | |
542 | 544 | | |
543 | 545 | | |
544 | 546 | | |
| |||
1075 | 1077 | | |
1076 | 1078 | | |
1077 | 1079 | | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
1078 | 1086 | | |
1079 | 1087 | | |
1080 | 1088 | | |
| |||
1109 | 1117 | | |
1110 | 1118 | | |
1111 | 1119 | | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
1112 | 1130 | | |
1113 | 1131 | | |
1114 | 1132 | | |
| |||
1127 | 1145 | | |
1128 | 1146 | | |
1129 | 1147 | | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
1130 | 1196 | | |
1131 | 1197 | | |
1132 | 1198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
539 | 539 | | |
540 | 540 | | |
541 | 541 | | |
| 542 | + | |
| 543 | + | |
542 | 544 | | |
543 | 545 | | |
544 | 546 | | |
| |||
1075 | 1077 | | |
1076 | 1078 | | |
1077 | 1079 | | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
1078 | 1087 | | |
1079 | 1088 | | |
1080 | 1089 | | |
| |||
1109 | 1118 | | |
1110 | 1119 | | |
1111 | 1120 | | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
1112 | 1131 | | |
1113 | 1132 | | |
1114 | 1133 | | |
| |||
1127 | 1146 | | |
1128 | 1147 | | |
1129 | 1148 | | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
1130 | 1197 | | |
1131 | 1198 | | |
1132 | 1199 | | |
| |||
0 commit comments