Skip to content

Commit

Permalink
Fix sample (#22)
Browse files Browse the repository at this point in the history
  • Loading branch information
ReubenBond committed Oct 4, 2018
1 parent dd92beb commit 8173c84
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 30 deletions.
5 changes: 3 additions & 2 deletions samples/HelloHagar/HelloHagar.csproj
@@ -1,13 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Hagar" Version="0.0.1-dev-20180427205312" />
<PackageReference Include="Hagar" Version="0.2.1-dev-20181003095918" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.0.0" />
<PackageReference Include="System.IO.Pipelines" Version="4.5.2" />
</ItemGroup>

<ItemGroup>
Expand Down
30 changes: 14 additions & 16 deletions samples/HelloHagar/Program.cs
@@ -1,4 +1,5 @@
using System;
using System;
using System.IO.Pipelines;
using Hagar;
using Hagar.Buffers;
using Hagar.Codecs;
Expand All @@ -17,26 +18,23 @@ static void Main(string[] args)
.AddHagar()
.AddSerializers(typeof(SomeClassWithSerialzers).Assembly)
.BuildServiceProvider();
var codecs = serviceProvider.GetRequiredService<ITypedCodecProvider>();

var codec = codecs.GetCodec<SomeClassWithSerialzers>();

var serializer = serviceProvider.GetRequiredService<Serializer<SomeClassWithSerialzers>>();

var sessionPool = serviceProvider.GetRequiredService<SessionPool>();
var writer = new Writer();
using (var writerSession = sessionPool.GetSession())
var pipe = new Pipe();

using (var session = sessionPool.GetSession())
{
codec.WriteField(writer,
writerSession,
0,
null,
new SomeClassWithSerialzers {IntField = 2, IntProperty = 30});
var writer = pipe.Writer.CreateWriter(session);
serializer.Serialize(ref writer, new SomeClassWithSerialzers {IntField = 2, IntProperty = 30});
pipe.Writer.Complete();
}

var reader = new Reader(writer.ToBytes());
using (var readerSession = sessionPool.GetSession())
using (var session = sessionPool.GetSession())
{
var initialHeader = reader.ReadFieldHeader(readerSession);
var result = codec.ReadValue(reader, readerSession, initialHeader);
pipe.Reader.TryRead(out var readResult);
var reader = new Reader(readResult.Buffer, session);
var result = serializer.Deserialize(ref reader);
Console.WriteLine(result);
}

Expand Down
18 changes: 9 additions & 9 deletions samples/MyPocos/Class1.cs
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using Hagar;

Expand All @@ -15,10 +15,10 @@ public void S()
[GenerateSerializer]
public class SomeClassWithSerialzers
{
[FieldId(0)]
[Id(0)]
public int IntProperty { get; set; }

[FieldId(1)] public int IntField;
[Id(1)] public int IntField;

public int UnmarkedField;

Expand All @@ -33,31 +33,31 @@ public override string ToString()
[GenerateSerializer]
public class SerializableClassWithCompiledBase : List<int>
{
[FieldId(0)]
[Id(0)]
public int IntProperty { get; set; }
}

[GenerateSerializer]
public class GenericPoco<T>
{
[FieldId(0)]
[Id(0)]
public T Field { get; set; }

[FieldId(1030)]
[Id(1030)]
public T[] ArrayField { get; set; }

[FieldId(2222)]
[Id(2222)]
public Dictionary<T, T> DictField { get; set; }
}

[GenerateSerializer]
public class GenericPocoWithConstraint<TClass, TStruct>
: GenericPoco<TStruct> where TClass : List<int>, new() where TStruct : struct
{
[FieldId(0)]
[Id(0)]
public new TClass Field { get; set; }

[FieldId(999)]
[Id(999)]
public TStruct ValueField { get; set; }
}
}
9 changes: 6 additions & 3 deletions samples/MyPocos/MyPocos.csproj
Expand Up @@ -5,9 +5,12 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Hagar" Version="0.0.1-dev-20180427205312" />
<PackageReference Include="Hagar.Abstractions" Version="0.0.1-dev-20180427205312" />
<PackageReference Include="Hagar.CodeGenerator.MSBuild" Version="0.0.1-dev-20180427205312" />
<PackageReference Include="Hagar" Version="0.2.1-dev-20181003095918" />
<PackageReference Include="Hagar.Abstractions" Version="0.2.1-dev-20181003095918" />
<PackageReference Include="Hagar.CodeGenerator.MSBuild" Version="0.2.1-dev-20181003095918">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>

</Project>

0 comments on commit 8173c84

Please sign in to comment.