KLF.KLFManager.enqueuePluginInteropMessage C# (CSharp) Method

enqueuePluginInteropMessage() private method

private enqueuePluginInteropMessage ( KLFCommon id, byte data ) : void
id KLFCommon
data byte
return void
        private void enqueuePluginInteropMessage(KLFCommon.PluginInteropMessageID id, byte[] data)
        {
            int msg_data_length = 0;
            if (data != null)
                msg_data_length = data.Length;

            byte[] message_bytes = new byte[KLFCommon.INTEROP_MSG_HEADER_LENGTH + msg_data_length];

            KLFCommon.intToBytes((int)id).CopyTo(message_bytes, 0);
            KLFCommon.intToBytes(msg_data_length).CopyTo(message_bytes, 4);
            if (data != null)
                data.CopyTo(message_bytes, KLFCommon.INTEROP_MSG_HEADER_LENGTH);

            interopOutQueue.Enqueue(message_bytes);

            //Enforce max queue size
            while (interopOutQueue.Count > INTEROP_MAX_QUEUE_SIZE)
                interopOutQueue.Dequeue();
        }