OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // The entity that handles framing writes for a Quic client or server. | 5 // The entity that handles framing writes for a Quic client or server. |
6 // Each QuicSession will have a connection associated with it. | 6 // Each QuicSession will have a connection associated with it. |
7 // | 7 // |
8 // On the server side, the Dispatcher handles the raw reads, and hands off | 8 // On the server side, the Dispatcher handles the raw reads, and hands off |
9 // packets via ProcessUdpPacket for framing and processing. | 9 // packets via ProcessUdpPacket for framing and processing. |
10 // | 10 // |
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
690 // retransmittable frames to nullptr. | 690 // retransmittable frames to nullptr. |
691 // Saves the connection close packet for later transmission, even if the | 691 // Saves the connection close packet for later transmission, even if the |
692 // writer is write blocked. | 692 // writer is write blocked. |
693 bool WritePacket(QueuedPacket* packet); | 693 bool WritePacket(QueuedPacket* packet); |
694 | 694 |
695 // Does the main work of WritePacket, but does not delete the packet or | 695 // Does the main work of WritePacket, but does not delete the packet or |
696 // retransmittable frames upon success. | 696 // retransmittable frames upon success. |
697 bool WritePacketInner(QueuedPacket* packet); | 697 bool WritePacketInner(QueuedPacket* packet); |
698 | 698 |
699 // Make sure an ack we got from our peer is sane. | 699 // Make sure an ack we got from our peer is sane. |
700 bool ValidateAckFrame(const QuicAckFrame& incoming_ack); | 700 // Returns nullptr for valid acks or an error std::string if it was invalid. |
| 701 const char* ValidateAckFrame(const QuicAckFrame& incoming_ack); |
701 | 702 |
702 // Make sure a stop waiting we got from our peer is sane. | 703 // Make sure a stop waiting we got from our peer is sane. |
703 bool ValidateStopWaitingFrame(const QuicStopWaitingFrame& stop_waiting); | 704 // Returns nullptr if the frame is valid or an error std::string if it was |
| 705 // invalid. |
| 706 const char* ValidateStopWaitingFrame( |
| 707 const QuicStopWaitingFrame& stop_waiting); |
704 | 708 |
705 // Sends a version negotiation packet to the peer. | 709 // Sends a version negotiation packet to the peer. |
706 void SendVersionNegotiationPacket(); | 710 void SendVersionNegotiationPacket(); |
707 | 711 |
708 // Clears any accumulated frames from the last received packet. | 712 // Clears any accumulated frames from the last received packet. |
709 void ClearLastFrames(); | 713 void ClearLastFrames(); |
710 | 714 |
711 // Deletes and clears any QueuedPackets. | 715 // Deletes and clears any QueuedPackets. |
712 void ClearQueuedPackets(); | 716 void ClearQueuedPackets(); |
713 | 717 |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
987 | 991 |
988 // Whether a GoAway has been received. | 992 // Whether a GoAway has been received. |
989 bool goaway_received_; | 993 bool goaway_received_; |
990 | 994 |
991 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 995 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
992 }; | 996 }; |
993 | 997 |
994 } // namespace net | 998 } // namespace net |
995 | 999 |
996 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 1000 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
OLD | NEW |