.Net 3.5 Extensions

     

    To assist programming with with Turbo Exchanges message classes, the DLL has a number of class extensions. The examples here use the RecoveryJob message class, and a MessageWrapper class.

     

    Add the following Using directive to your class, to make them available:

     

    using turboExchange;

     

    .SerializeToProtoBytes()

    Serialize the message class into a Protocol Buffer byte[] array

     wrap._payload = recoveryJob.SerializeToProtoBytes();
    

    .DeserializeProtoBytes()

    Deserialize Protocol Buffer byte[] array into a message class

    var recoveryJob = wrap._payload.DeserializeProtoBytes<turboExchange.Messages.turboMessage.RecoveryJob>();
    

     

    .GetProtoClassType()

    Gets the clsss Type of a _messageType

    Type ProtoClass = _messageType.GetProtoClassType
    

     

    .GetProtoMessageType()

    Gets the _messageType of a Protobuffer Message class.

    var recoveryJob = new turboExchange.Messages.turboMessage.RecoveryJob();
    wrap._messageType = recoveryJob.GetProtoMessageType();
     
    .ToProtoDateTime()

    Converts a DateTime to a long. (seconds since year 2000)

    recoveryJob._etaTime = DateTime.Now().ToProtoDateTime();
    
    .ToDateTime()

    Converts long to DateTime (seconds since year 2000)

    DateTime eta = recoveryJob._etaTime.ToDateTime();

     

    .ProtoClone()

    Clone a message class, into another instance.

    var recoveryJobClone = recoveryJob.ProtoClone();
    

     

    .ProtoCloneSanitize()

    Clone MessageWrapper class, and remove message routing options (sourceID,DestID,Receipt,RPC)

    var wrapClone = wrap.ProtoCloneSanitize();