private void TestAndMeasure(string propertyType) { var entry = GenerateEntry(propertyType); var entitySet = Model.EntityContainer.FindEntitySet(propertyType); foreach (var iteration in Benchmark.Iterations) { // Reuse the same stream WriteStream.Seek(0, SeekOrigin.Begin); using (iteration.StartMeasurement()) { using (var messageWriter = ODataMessageHelper.CreateMessageWriter(WriteStream, Model, ODataMessageKind.Response, isFullValidation: true)) { ODataWriter writer = messageWriter.CreateODataResourceSetWriter(entitySet, entitySet.EntityType()); writer.WriteStart(new ODataResourceSet { Id = new Uri("http://www.odata.org/Perf.svc") }); for (int i = 0; i < NumberOfEntries; ++i) { writer.WriteStart(entry); writer.WriteEnd(); } writer.WriteEnd(); writer.Flush(); } } } }
public void RunReadFeedTest(bool isFullValidation) { using (var messageReader = ODataMessageHelper.CreateMessageReader(_stream, Model, ODataMessageKind.Response, isFullValidation)) { ODataReader feedReader = messageReader.CreateODataResourceSetReader(TestEntitySet, TestEntityType); while (feedReader.Read()) { } } }
/// <summary> /// Reads feed from stream /// </summary> /// <param name="readStream"></param> /// <param name="edmModel"></param> /// <param name="entitySet"></param> /// <param name="expectedBaseEntityType"></param> protected void ReadFeed(Stream readStream, IEdmModel edmModel, IEdmEntitySetBase entitySet, IEdmEntityType expectedBaseEntityType) { readStream.Seek(0, SeekOrigin.Begin); using (var messageReader = ODataMessageHelper.CreateMessageReader(readStream, edmModel)) { ODataReader feedReader = messageReader.CreateODataFeedReader(entitySet, expectedBaseEntityType); while (feedReader.Read()) { } } }
/// <summary> /// Writes an OData Feed with number <see cref="numberOfEntries"/> of entries <see cref="entry"/> /// </summary> /// <param name="writeStream"></param> /// <param name="edmModel"></param> /// <param name="numberOfEntries"></param> /// <param name="innerWrite"></param> /// <param name="entitySet"></param> /// <returns>The payload size</returns> protected Int64 WriteFeed(Stream writeStream, IEdmModel edmModel, long numberOfEntries, Action <ODataWriter> innerWrite, IEdmEntitySetBase entitySet) { using (var messageWriter = ODataMessageHelper.CreateMessageWriter(writeStream, edmModel)) { ODataWriter writer = messageWriter.CreateODataResourceSetWriter(entitySet); writer.WriteStart(new ODataResourceSet { Id = new Uri("http://www.odata.org/Perf.svc") }); for (long i = 0; i < numberOfEntries; ++i) { innerWrite(writer); } writer.WriteEnd(); writer.Flush(); } return(writeStream.Length); // return payload size }
public void WriteFeed() { using (var messageWriter = ODataMessageHelper.CreateMessageWriter(WriteStream, Model, ODataMessageKind.Response, isFullValidation: true)) { ODataWriter writer = messageWriter.CreateODataResourceSetWriter(entitySet, entitySet.EntityType()); writer.WriteStart(new ODataResourceSet { Id = new Uri("http://www.odata.org/Perf.svc") }); for (int i = 0; i < NumberOfEntries; ++i) { writer.WriteStart(entry); writer.WriteEnd(); } writer.WriteEnd(); writer.Flush(); } }
private void ReadFeedTestAndMeasure(string templateFile, int entryCount, bool isFullValidation) { foreach (var iteration in Benchmark.Iterations) { using (var stream = new MemoryStream(PayloadGenerator.GenerateFeed(templateFile, entryCount))) { using (iteration.StartMeasurement()) { using (var messageReader = ODataMessageHelper.CreateMessageReader(stream, Model, ODataMessageKind.Response, isFullValidation)) { ODataReader feedReader = messageReader.CreateODataResourceSetReader(TestEntitySet, TestEntityType); while (feedReader.Read()) { } } } } } }