You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Zero/ZeroLevel/Services/Network/Model/SDL/InboxServiceDescription.cs

51 lines
1.6 KiB

using ZeroLevel.Services.Serialization;
namespace ZeroLevel.Network.SDL
{
public class InboxServiceDescription
: IBinarySerializable
{
public int Port { get; set; }
/// <summary>
/// Inbox name
/// </summary>
public string Name { get; set; }
/// <summary>
/// Invoke targer type name
/// </summary>
public string Target { get; set; }
/// <summary>
/// Inbox kind (handler or requestor)
/// </summary>
public InboxKind InboxKind { get; set; }
/// <summary>
/// Inbox Incoming data type
/// </summary>
public InboxType IncomingType { get; set; }
/// <summary>
/// Inbox Outcoming data type
/// </summary>
public InboxType OutcomingType { get; set; }
public void Deserialize(IBinaryReader reader)
{
this.Port = reader.ReadInt32();
this.Name = reader.ReadString();
this.Target = reader.ReadString();
this.InboxKind = (InboxKind)reader.ReadInt32();
this.IncomingType = reader.Read<InboxType>();
this.OutcomingType = reader.Read<InboxType>();
}
public void Serialize(IBinaryWriter writer)
{
writer.WriteInt32(this.Port);
writer.WriteString(this.Name);
writer.WriteString(this.Target);
writer.WriteInt32((int)this.InboxKind);
writer.Write<InboxType>(this.IncomingType);
writer.Write<InboxType>(this.OutcomingType);
}
}
}

Powered by TurnKey Linux.