diff --git a/Esiur/Net/IIP/DistributedConnectionProtocol.cs b/Esiur/Net/IIP/DistributedConnectionProtocol.cs index 39b81f9..0cc2712 100644 --- a/Esiur/Net/IIP/DistributedConnectionProtocol.cs +++ b/Esiur/Net/IIP/DistributedConnectionProtocol.cs @@ -722,14 +722,15 @@ partial class DistributedConnection } - var (_, parsed) = Codec.ParseAsync(data, offset, this, null); + var (_, parsed) = Codec.ParseAsync(data, 0, this, null, dataType); if (parsed is AsyncReply reply) { reply.Then((result) => { - var map = (Map)result; - Warehouse.New(type, instanceName, store as IStore, parent, null, null, map) + var props = (Map)((object[])result)[4]; + var attrs = (Map)((object[])result)[5]; + Warehouse.New(type, instanceName, store as IStore, parent, null, attrs, props) .Then(resource => { SendReply(IIPPacketReply.Completed, callback, resource.Instance.Id); @@ -2018,7 +2019,7 @@ partial class DistributedConnection /// Resource attributeds. /// Values for the resource properties. /// New resource instance - public AsyncReply Create(IStore store, IResource parent, string className, Map attributes, Map values) + public AsyncReply Create(IStore store, IResource parent, string className, Map values, Map attributes) { var reply = new AsyncReply(); var pkt = new BinaryList() @@ -2032,7 +2033,7 @@ partial class DistributedConnection pkt.InsertInt32(8, pkt.Length); - SendRequest(IIPPacketRequest.CreateResource) + SendRequest(IIPPacketRequest.CreateResource, store, parent, cl) .AddUInt8Array(pkt.ToArray()) .Done() .Then(args =>