// Queue up a fully rendered frame to send public void WriteFrame(Frame frame) { if (frame == null) throw new ArgumentNullException("frame is null"); var priority = frame.StreamId != 0 ? _streams[frame.StreamId].Priority : Constants.DefaultStreamPriority; IQueueItem entry; if (IsPriorityTurnedOn) { entry = new PriorityQueueEntry(frame, priority); } else { entry = new QueueEntry(frame); } _messageQueue.Enqueue(entry); }
// Queue up a fully rendered frame to send public void WriteFrame(Frame frame) { if (frame == null) { throw new ArgumentNullException("frame is null"); } var priority = frame.StreamId != 0 ? _streams[frame.StreamId].Priority : Constants.DefaultStreamPriority; IQueueItem entry; if (IsPriorityTurnedOn) { entry = new PriorityQueueEntry(frame, priority); } else { entry = new QueueEntry(frame); } _messageQueue.Enqueue(entry); }
// Queue up a fully rendered frame to send public void WriteFrame(Frame frame) { if (frame == null) throw new ArgumentNullException("frame is null"); //Do not write to already closed stream if (frame.FrameType != FrameType.Settings && frame.FrameType != FrameType.GoAway && frame.FrameType != FrameType.Ping && _streams[frame.StreamId] == null) { return; } var priority = frame.StreamId != 0 ? _streams[frame.StreamId].Priority : Constants.DefaultStreamPriority; IQueueItem entry; if (IsPriorityTurnedOn) { entry = new PriorityQueueEntry(frame, priority); } else { entry = new QueueEntry(frame); } _messageQueue.Enqueue(entry); }