Example - Convert incoming message to Turbo Dispatch format

Table of contents
No headers

 

All incoming messages arrive in the "MessageMill" class.  The Turbo Dispatch compatibility layer works on messages in the ProtocolBuffer range of 1000 to 1999.  For legacy applications that require messages in the Turbo Dispatch format, use the  turboExchange.TurboDispatch.clsTDConverter class.

 

 

public void ProcessMessage(MessageWrapper wrap)
{
    try
    {
        Console.WriteLine("RX message: {0}",wrap._messageType.ToString());

        //Turbo Exchange Recovery Data
        if ((int)wrap._messageType >= 1000 && (int)wrap._messageType < 2000)
        {
            //Convert to TD format
            String TDData = turboExchange.TurboDispatch.clsTDConverter.ProcessIncomingMessage(wrap);
            Console.WriteLine(TDData);  //**Turbo Dispatch Data
        }
        else
        {
            //Process other Turbo Exchange data (Example)
            switch (wrap._messageType)
            {
                case MessageWrapper.MessageType.turboTurboData:
                    Console.WriteLine(Encoding.UTF8.GetString(wrap._payload));
                    break;
                case MessageWrapper.MessageType.gpsTrackerMessage:
                    var gps = wrap._payload.DeserializeProtoBytes<turboExchange.Messages.GPS.TrackerMessage>();
                    Console.WriteLine(turboExchange.TurboDispatch.clsTDConverter.GPSMessage(gps));
                    break;
                case MessageWrapper.MessageType.serverSMSStatus:
                    var SMSstatus = wrap._payload.DeserializeProtoBytes<turboExchange.Messages.networkServices.SMSMessageStatus>();
                    if (SMSstatus._statusMessageSpecified)
                        Console.WriteLine("TurboExchange SMS Server:\r\n" + SMSstatus._statusMessage);
                    break;
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine("ProcessMessage Error - " + ex.Message);
    }

}