Пример #1
0
 /// <summary>
 ///     MessageIdentity类型存储的静态构造器
 /// </summary>
 static MessageIdentityValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <MessageIdentity>();
     _toBytesDelegate = delegate(IMemorySegmentProxy proxy, BaseValueStored messageIdentityValueStored)
     {
         proxy.WriteByte(messageIdentityValueStored.GetValue <MessageIdentity>().ProtocolId);
         proxy.WriteByte(messageIdentityValueStored.GetValue <MessageIdentity>().ServiceId);
         proxy.WriteByte(messageIdentityValueStored.GetValue <MessageIdentity>().DetailsId);
         proxy.WriteInt16(messageIdentityValueStored.GetValue <MessageIdentity>().Tid);
     };
     _toDataDelegate = delegate(ResourceBlock metadataObject, byte id, byte[] byteData, int offsetStart, uint offsetLength)
     {
         MessageIdentity messageIdentity = new MessageIdentity
         {
             ProtocolId = byteData[offsetStart++],
             ServiceId  = byteData[offsetStart++],
             DetailsId  = byteData[offsetStart++],
             Tid        = BitConverter.ToInt16(byteData, offsetStart)
         };
         metadataObject.SetAttribute(id, new MessageIdentityValueStored(messageIdentity));
     };
 }
 /// <summary>
 ///     TransactionIdentity类型存储的静态构造器
 /// </summary>
 static TransactionIdentityValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <TransactionIdentity>();
     _toBytesDelegate = delegate(IMemorySegmentProxy proxy, BaseValueStored messageIdentityValueStored)
     {
         TransactionIdentity identity = messageIdentityValueStored.GetValue <TransactionIdentity>();
         if (identity.IdentityType == TransactionIdentityTypes.TCP)
         {
             TCPTransactionIdentity.Serialize(0, IdentitySerializationTypes.Metadata, (TCPTransactionIdentity)identity, proxy);
         }
         else if (identity.IdentityType == TransactionIdentityTypes.NamedPipe)
         {
             NamedPipeTransactionIdentity.Serialize(0, IdentitySerializationTypes.Metadata, (NamedPipeTransactionIdentity)identity, proxy);
         }
         else
         {
             throw new NotSupportedException(string.Format("#We were not support current type of Transaction-Identity yet! {0}", identity.IdentityType));
         }
     };
     _toDataDelegate = delegate(ResourceBlock metadataObject, byte id, byte[] byteData, int offsetStart, uint offsetLength)
     {
         TransactionIdentityTypes identityType = (TransactionIdentityTypes)byteData[offsetStart];
         if (identityType == TransactionIdentityTypes.TCP)
         {
             metadataObject.SetAttribute(id, new TransactionIdentityValueStored(TCPTransactionIdentity.Deserialize(byteData, offsetStart, (int)offsetLength)));
         }
         else if (identityType == TransactionIdentityTypes.NamedPipe)
         {
             metadataObject.SetAttribute(id, new TransactionIdentityValueStored(NamedPipeTransactionIdentity.Deserialize(byteData, offsetStart, (int)offsetLength)));
         }
         else
         {
             throw new NotSupportedException(string.Format("#We were not support current type of Transaction-Identity yet! {0}", identityType));
         }
     };
 }
Пример #3
0
 /// <summary>
 ///     String类型存储的静态构造器
 /// </summary>
 static StringValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <string>();
     _toBytesDelegate = ProcessorDictionary.ValueActions[(byte)PropertyTypes.String];
     _toDataDelegate  = ProcessorDictionary.DataActions[(byte)PropertyTypes.String];
 }
Пример #4
0
 /// <summary>
 ///     Char类型存储的静态构造器
 /// </summary>
 static CharValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <char>();
     _toBytesDelegate = ProcessorDictionary.ValueActions[(byte)PropertyTypes.Char];
     _toDataDelegate  = ProcessorDictionary.DataActions[(byte)PropertyTypes.Char];
 }
Пример #5
0
 /// <summary>
 ///     IntPtr数组类型存储的静态构造器
 /// </summary>
 static IntPtrArrayValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <IntPtr[]>();
     _toBytesDelegate = (DataProcessorMapping.Instance.GetProcessor(PropertyTypes.IntPtrArray)).ValueProcessor;
     _toDataDelegate  = (DataProcessorMapping.Instance.GetProcessor(PropertyTypes.IntPtrArray)).DataProcessor;
 }
Пример #6
0
 /// <summary>
 ///     IntellectObject类型存储的静态构造器
 /// </summary>
 static IntellectObjectValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <byte[]>();
     _toBytesDelegate = (DataProcessorMapping.Instance.GetProcessor(PropertyTypes.IntellectObject)).ValueProcessor;
     _toDataDelegate  = (DataProcessorMapping.Instance.GetProcessor(PropertyTypes.IntellectObject)).DataProcessor;
 }
Пример #7
0
 /// <summary>
 ///     Int16类型存储的静态构造器
 /// </summary>
 static Int16ValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <short>();
     _toBytesDelegate = ProcessorDictionary.ValueActions[(byte)PropertyTypes.Int16];
     _toDataDelegate  = ProcessorDictionary.DataActions[(byte)PropertyTypes.Int16];
 }
 /// <summary>
 ///     TimeSpan类型存储的静态构造器
 /// </summary>
 static TimeSpanValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <TimeSpan>();
     _toBytesDelegate = ProcessorDictionary.ValueActions[(byte)PropertyTypes.TimeSpan];
     _toDataDelegate  = ProcessorDictionary.DataActions[(byte)PropertyTypes.TimeSpan];
 }
Пример #9
0
 /// <summary>
 ///     Float类型存储的静态构造器
 /// </summary>
 static FloatValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <float>();
     _toBytesDelegate = ProcessorDictionary.ValueActions[(byte)PropertyTypes.Float];
     _toDataDelegate  = ProcessorDictionary.DataActions[(byte)PropertyTypes.Float];
 }
 /// <summary>
 ///     ResourceBlock数组类型存储的静态构造器
 /// </summary>
 static ResourceBlockArrayStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <ResourceBlock[]>();
     _toBytesDelegate = DataProcessorMapping.Instance.GetProcessor(PropertyTypes.ResourceBlockArray).ValueProcessor;
     _toDataDelegate  = (DataProcessorMapping.Instance.GetProcessor(PropertyTypes.ResourceBlockArray)).DataProcessor;
 }
Пример #11
0
 /// <summary>
 ///     UInt32类型存储的静态构造器
 /// </summary>
 static UInt32ValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <uint>();
     _toBytesDelegate = ProcessorDictionary.ValueActions[(byte)PropertyTypes.UInt32];
     _toDataDelegate  = ProcessorDictionary.DataActions[(byte)PropertyTypes.UInt32];
 }
Пример #12
0
 /// <summary>
 ///     Byte数组类型存储的静态构造器
 /// </summary>
 static ByteArrayValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <byte[]>();
     _toBytesDelegate = DataProcessorMapping.Instance.GetProcessor(PropertyTypes.ByteArray).ValueProcessor;
     _toDataDelegate  = DataProcessorMapping.Instance.GetProcessor(PropertyTypes.ByteArray).DataProcessor;
 }
Пример #13
0
 /// <summary>
 ///     Decimal类型存储的静态构造器
 /// </summary>
 static DecimalValueStored()
 {
     _instance        = ValueStoredHelper.BuildMethod <decimal>();
     _toBytesDelegate = ProcessorDictionary.ValueActions[(byte)PropertyTypes.Decimal];
     _toDataDelegate  = ProcessorDictionary.DataActions[(byte)PropertyTypes.Decimal];
 }
Пример #14
0
 /// <summary>
 ///     ResourceBlock类型存储的静态构造器
 /// </summary>
 static ResourceBlockStored()
 {
     _instance       = ValueStoredHelper.BuildMethod <ResourceBlock>();
     _toDataDelegate = ProcessorDictionary.DataActions[(byte)PropertyTypes.ResourceBlock];
 }