public virtual PhotonPackage DequeuePipeline() { PhotonPackage item = queue.Dequeue(); InitiateDequeueEvent(); return(item); }
public virtual PhotonPackage EnqueuePipeline(PhotonPackage item) { if (queue.Count > 0) { PhotonPackage prevItem = queue.Peek(); //Compare previous item and current item to be queued, if they are different then enqueue the new photon package to be sent if (prevItem.postureFlagBits.Data != item.postureFlagBits.Data) { queue.Enqueue(item); InitiateEnqueueEvent(); return(item); } return(null); } else { queue.Enqueue(item); return(item); } }