| OLD | NEW | 
|    1 // Copyright 2016 The Chromium Authors. All rights reserved. |    1 // Copyright 2016 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 #ifndef NET_QUIC_CHROMIUM_BIDIRECTIONAL_STREAM_QUIC_IMPL_H_ |    5 #ifndef NET_QUIC_CHROMIUM_BIDIRECTIONAL_STREAM_QUIC_IMPL_H_ | 
|    6 #define NET_QUIC_CHROMIUM_BIDIRECTIONAL_STREAM_QUIC_IMPL_H_ |    6 #define NET_QUIC_CHROMIUM_BIDIRECTIONAL_STREAM_QUIC_IMPL_H_ | 
|    7  |    7  | 
|    8 #include <stdint.h> |    8 #include <stdint.h> | 
|    9  |    9  | 
|   10 #include <memory> |   10 #include <memory> | 
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   54   NextProto GetProtocol() const override; |   54   NextProto GetProtocol() const override; | 
|   55   int64_t GetTotalReceivedBytes() const override; |   55   int64_t GetTotalReceivedBytes() const override; | 
|   56   int64_t GetTotalSentBytes() const override; |   56   int64_t GetTotalSentBytes() const override; | 
|   57   bool GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const override; |   57   bool GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const override; | 
|   58  |   58  | 
|   59  private: |   59  private: | 
|   60   // QuicChromiumClientStream::Delegate implementation: |   60   // QuicChromiumClientStream::Delegate implementation: | 
|   61   void OnClose() override; |   61   void OnClose() override; | 
|   62   void OnError(int error) override; |   62   void OnError(int error) override; | 
|   63  |   63  | 
 |   64   bool WriteHeaders(); | 
|   64   void OnStreamReady(int rv); |   65   void OnStreamReady(int rv); | 
|   65   void OnSendDataComplete(int rv); |   66   void OnSendDataComplete(int rv); | 
|   66   void ReadInitialHeaders(); |   67   void ReadInitialHeaders(); | 
|   67   void OnReadInitialHeadersComplete(int rv); |   68   void OnReadInitialHeadersComplete(int rv); | 
|   68   void ReadTrailingHeaders(); |   69   void ReadTrailingHeaders(); | 
|   69   void OnReadTrailingHeadersComplete(int rv); |   70   void OnReadTrailingHeadersComplete(int rv); | 
|   70   void OnReadDataComplete(int rv); |   71   void OnReadDataComplete(int rv); | 
|   71  |   72  | 
|   72   // Notifies the delegate of an error. |   73   // Notifies the delegate of an error, clears |stream_| and |delegate_|, | 
 |   74   // and cancels any pending callbacks. | 
|   73   void NotifyError(int error); |   75   void NotifyError(int error); | 
 |   76   // Notifies the delegate of an error, clears |stream_| and |delegate_|, | 
 |   77   // and cancels any pending callbacks. If |notify_delegate_later| is true | 
 |   78   // then the delegate will be notified asynchronously via a posted task, | 
 |   79   // otherwise the notification will be synchronous. | 
 |   80   void NotifyErrorImpl(int error, bool notify_delegate_later); | 
|   74   // Notifies the delegate that the stream is ready. |   81   // Notifies the delegate that the stream is ready. | 
|   75   void NotifyStreamReady(); |   82   void NotifyStreamReady(); | 
|   76   // Resets the stream and ensures that |delegate_| won't be called back. |   83   // Resets the stream and ensures that |delegate_| won't be called back. | 
|   77   void ResetStream(); |   84   void ResetStream(); | 
 |   85   // Invokes OnFailure(error) on |delegate|. | 
 |   86   void NotifyFailure(BidirectionalStreamImpl::Delegate* delegate, int error); | 
|   78  |   87  | 
|   79   const std::unique_ptr<QuicChromiumClientSession::Handle> session_; |   88   const std::unique_ptr<QuicChromiumClientSession::Handle> session_; | 
|   80   std::unique_ptr<QuicChromiumClientStream::Handle> stream_; |   89   std::unique_ptr<QuicChromiumClientStream::Handle> stream_; | 
|   81  |   90  | 
|   82   const BidirectionalStreamRequestInfo* request_info_; |   91   const BidirectionalStreamRequestInfo* request_info_; | 
|   83   BidirectionalStreamImpl::Delegate* delegate_; |   92   BidirectionalStreamImpl::Delegate* delegate_; | 
|   84   // Saves the response status if the stream is explicitly closed via OnError |   93   // Saves the response status if the stream is explicitly closed via OnError | 
|   85   // or OnClose with an error. Once all buffered data has been returned, this |   94   // or OnClose with an error. Once all buffered data has been returned, this | 
|   86   // will be used as the final response. |   95   // will be used as the final response. | 
|   87   int response_status_; |   96   int response_status_; | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  123   bool send_request_headers_automatically_; |  132   bool send_request_headers_automatically_; | 
|  124  |  133  | 
|  125   base::WeakPtrFactory<BidirectionalStreamQuicImpl> weak_factory_; |  134   base::WeakPtrFactory<BidirectionalStreamQuicImpl> weak_factory_; | 
|  126  |  135  | 
|  127   DISALLOW_COPY_AND_ASSIGN(BidirectionalStreamQuicImpl); |  136   DISALLOW_COPY_AND_ASSIGN(BidirectionalStreamQuicImpl); | 
|  128 }; |  137 }; | 
|  129  |  138  | 
|  130 }  // namespace net |  139 }  // namespace net | 
|  131  |  140  | 
|  132 #endif  // NET_QUIC_CHROMIUM_BIDIRECTIONAL_STREAM_QUIC_IMPL_H_ |  141 #endif  // NET_QUIC_CHROMIUM_BIDIRECTIONAL_STREAM_QUIC_IMPL_H_ | 
| OLD | NEW |