| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_TOOLS_FLIP_SERVER_HTTP_INTERFACE_H_ | 5 #ifndef NET_TOOLS_FLIP_SERVER_HTTP_INTERFACE_H_ | 
| 6 #define NET_TOOLS_FLIP_SERVER_HTTP_INTERFACE_H_ | 6 #define NET_TOOLS_FLIP_SERVER_HTTP_INTERFACE_H_ | 
| 7 | 7 | 
| 8 #include <string> | 8 #include <string> | 
| 9 | 9 | 
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" | 
| 11 #include "net/tools/balsa/balsa_headers.h" | 11 #include "net/tools/balsa/balsa_headers.h" | 
| 12 #include "net/tools/balsa/balsa_visitor_interface.h" | 12 #include "net/tools/balsa/balsa_visitor_interface.h" | 
| 13 #include "net/tools/flip_server/output_ordering.h" | 13 #include "net/tools/flip_server/output_ordering.h" | 
| 14 #include "net/tools/flip_server/sm_connection.h" | 14 #include "net/tools/flip_server/sm_connection.h" | 
| 15 #include "net/tools/flip_server/sm_interface.h" | 15 #include "net/tools/flip_server/sm_interface.h" | 
| 16 | 16 | 
| 17 namespace net { | 17 namespace net { | 
| 18 | 18 | 
| 19 class BalsaFrame; | 19 class BalsaFrame; | 
| 20 class DataFrame; | 20 class DataFrame; | 
| 21 class EpollServer; | 21 class EpollServer; | 
| 22 class FlipAcceptor; | 22 class FlipAcceptor; | 
| 23 class MemoryCache; | 23 class MemoryCache; | 
| 24 | 24 | 
| 25 class HttpSM : public BalsaVisitorInterface, | 25 class HttpSM : public BalsaVisitorInterface, public SMInterface { | 
| 26                public SMInterface { |  | 
| 27  public: | 26  public: | 
| 28   HttpSM(SMConnection* connection, | 27   HttpSM(SMConnection* connection, | 
| 29          SMInterface* sm_spdy_interface, | 28          SMInterface* sm_spdy_interface, | 
| 30          MemoryCache* memory_cache, | 29          MemoryCache* memory_cache, | 
| 31          FlipAcceptor* acceptor); | 30          FlipAcceptor* acceptor); | 
| 32   virtual ~HttpSM(); | 31   virtual ~HttpSM(); | 
| 33 | 32 | 
| 34  private: | 33  private: | 
| 35   // BalsaVisitorInterface: | 34   // BalsaVisitorInterface: | 
| 36   virtual void ProcessBodyInput(const char *input, size_t size) OVERRIDE {} | 35   virtual void ProcessBodyInput(const char* input, size_t size) OVERRIDE {} | 
| 37   virtual void ProcessBodyData(const char *input, size_t size) OVERRIDE; | 36   virtual void ProcessBodyData(const char* input, size_t size) OVERRIDE; | 
| 38   virtual void ProcessHeaderInput(const char *input, size_t size) OVERRIDE {} | 37   virtual void ProcessHeaderInput(const char* input, size_t size) OVERRIDE {} | 
| 39   virtual void ProcessTrailerInput(const char *input, size_t size) OVERRIDE {} | 38   virtual void ProcessTrailerInput(const char* input, size_t size) OVERRIDE {} | 
| 40   virtual void ProcessHeaders(const BalsaHeaders& headers) OVERRIDE; | 39   virtual void ProcessHeaders(const BalsaHeaders& headers) OVERRIDE; | 
| 41   virtual void ProcessRequestFirstLine(const char* line_input, | 40   virtual void ProcessRequestFirstLine(const char* line_input, | 
| 42                                        size_t line_length, | 41                                        size_t line_length, | 
| 43                                        const char* method_input, | 42                                        const char* method_input, | 
| 44                                        size_t method_length, | 43                                        size_t method_length, | 
| 45                                        const char* request_uri_input, | 44                                        const char* request_uri_input, | 
| 46                                        size_t request_uri_length, | 45                                        size_t request_uri_length, | 
| 47                                        const char* version_input, | 46                                        const char* version_input, | 
| 48                                        size_t version_length) OVERRIDE {} | 47                                        size_t version_length) OVERRIDE {} | 
| 49   virtual void ProcessResponseFirstLine(const char *line_input, | 48   virtual void ProcessResponseFirstLine(const char* line_input, | 
| 50                                         size_t line_length, | 49                                         size_t line_length, | 
| 51                                         const char *version_input, | 50                                         const char* version_input, | 
| 52                                         size_t version_length, | 51                                         size_t version_length, | 
| 53                                         const char *status_input, | 52                                         const char* status_input, | 
| 54                                         size_t status_length, | 53                                         size_t status_length, | 
| 55                                         const char *reason_input, | 54                                         const char* reason_input, | 
| 56                                         size_t reason_length) OVERRIDE {} | 55                                         size_t reason_length) OVERRIDE {} | 
| 57   virtual void ProcessChunkLength(size_t chunk_length) OVERRIDE {} | 56   virtual void ProcessChunkLength(size_t chunk_length) OVERRIDE {} | 
| 58   virtual void ProcessChunkExtensions(const char *input, | 57   virtual void ProcessChunkExtensions(const char* input, size_t size) OVERRIDE { | 
| 59                                       size_t size) OVERRIDE {} | 58   } | 
| 60   virtual void HeaderDone() OVERRIDE {} | 59   virtual void HeaderDone() OVERRIDE {} | 
| 61   virtual void MessageDone() OVERRIDE; | 60   virtual void MessageDone() OVERRIDE; | 
| 62   virtual void HandleHeaderError(BalsaFrame* framer) OVERRIDE; | 61   virtual void HandleHeaderError(BalsaFrame* framer) OVERRIDE; | 
| 63   virtual void HandleHeaderWarning(BalsaFrame* framer) OVERRIDE {} | 62   virtual void HandleHeaderWarning(BalsaFrame* framer) OVERRIDE {} | 
| 64   virtual void HandleChunkingError(BalsaFrame* framer) OVERRIDE; | 63   virtual void HandleChunkingError(BalsaFrame* framer) OVERRIDE; | 
| 65   virtual void HandleBodyError(BalsaFrame* framer) OVERRIDE; | 64   virtual void HandleBodyError(BalsaFrame* framer) OVERRIDE; | 
| 66 | 65 | 
| 67   void HandleError(); | 66   void HandleError(); | 
| 68 | 67 | 
| 69  public: | 68  public: | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
| 88   virtual bool MessageFullyRead() const OVERRIDE; | 87   virtual bool MessageFullyRead() const OVERRIDE; | 
| 89   virtual void SetStreamID(uint32 stream_id) OVERRIDE; | 88   virtual void SetStreamID(uint32 stream_id) OVERRIDE; | 
| 90   virtual bool Error() const OVERRIDE; | 89   virtual bool Error() const OVERRIDE; | 
| 91   virtual const char* ErrorAsString() const OVERRIDE; | 90   virtual const char* ErrorAsString() const OVERRIDE; | 
| 92   virtual void Reset() OVERRIDE; | 91   virtual void Reset() OVERRIDE; | 
| 93   virtual void ResetForNewInterface(int32 server_idx) OVERRIDE {} | 92   virtual void ResetForNewInterface(int32 server_idx) OVERRIDE {} | 
| 94   virtual void ResetForNewConnection() OVERRIDE; | 93   virtual void ResetForNewConnection() OVERRIDE; | 
| 95   virtual void Cleanup() OVERRIDE; | 94   virtual void Cleanup() OVERRIDE; | 
| 96   virtual int PostAcceptHook() OVERRIDE; | 95   virtual int PostAcceptHook() OVERRIDE; | 
| 97 | 96 | 
| 98   virtual void NewStream(uint32 stream_id, uint32 priority, | 97   virtual void NewStream(uint32 stream_id, | 
|  | 98                          uint32 priority, | 
| 99                          const std::string& filename) OVERRIDE; | 99                          const std::string& filename) OVERRIDE; | 
| 100   virtual void SendEOF(uint32 stream_id) OVERRIDE; | 100   virtual void SendEOF(uint32 stream_id) OVERRIDE; | 
| 101   virtual void SendErrorNotFound(uint32 stream_id) OVERRIDE; | 101   virtual void SendErrorNotFound(uint32 stream_id) OVERRIDE; | 
| 102   virtual size_t SendSynStream(uint32 stream_id, | 102   virtual size_t SendSynStream(uint32 stream_id, | 
| 103                                const BalsaHeaders& headers) OVERRIDE; | 103                                const BalsaHeaders& headers) OVERRIDE; | 
| 104   virtual size_t SendSynReply(uint32 stream_id, | 104   virtual size_t SendSynReply(uint32 stream_id, | 
| 105                               const BalsaHeaders& headers) OVERRIDE; | 105                               const BalsaHeaders& headers) OVERRIDE; | 
| 106   virtual void SendDataFrame(uint32 stream_id, const char* data, int64 len, | 106   virtual void SendDataFrame(uint32 stream_id, | 
| 107                              uint32 flags, bool compress) OVERRIDE; | 107                              const char* data, | 
|  | 108                              int64 len, | 
|  | 109                              uint32 flags, | 
|  | 110                              bool compress) OVERRIDE; | 
| 108 | 111 | 
| 109  private: | 112  private: | 
| 110   void SendEOFImpl(uint32 stream_id); | 113   void SendEOFImpl(uint32 stream_id); | 
| 111   void SendErrorNotFoundImpl(uint32 stream_id); | 114   void SendErrorNotFoundImpl(uint32 stream_id); | 
| 112   void SendOKResponseImpl(uint32 stream_id, const std::string& output); | 115   void SendOKResponseImpl(uint32 stream_id, const std::string& output); | 
| 113   size_t SendSynReplyImpl(uint32 stream_id, const BalsaHeaders& headers); | 116   size_t SendSynReplyImpl(uint32 stream_id, const BalsaHeaders& headers); | 
| 114   size_t SendSynStreamImpl(uint32 stream_id, const BalsaHeaders& headers); | 117   size_t SendSynStreamImpl(uint32 stream_id, const BalsaHeaders& headers); | 
| 115   void SendDataFrameImpl(uint32 stream_id, const char* data, int64 len, | 118   void SendDataFrameImpl(uint32 stream_id, | 
| 116                          uint32 flags, bool compress); | 119                          const char* data, | 
|  | 120                          int64 len, | 
|  | 121                          uint32 flags, | 
|  | 122                          bool compress); | 
| 117   void EnqueueDataFrame(DataFrame* df); | 123   void EnqueueDataFrame(DataFrame* df); | 
| 118   virtual void GetOutput() OVERRIDE; | 124   virtual void GetOutput() OVERRIDE; | 
| 119 | 125 | 
| 120  private: | 126  private: | 
| 121   BalsaFrame* http_framer_; | 127   BalsaFrame* http_framer_; | 
| 122   BalsaHeaders headers_; | 128   BalsaHeaders headers_; | 
| 123   uint32 stream_id_; | 129   uint32 stream_id_; | 
| 124   int32 server_idx_; | 130   int32 server_idx_; | 
| 125 | 131 | 
| 126   SMConnection* connection_; | 132   SMConnection* connection_; | 
| 127   SMInterface* sm_spdy_interface_; | 133   SMInterface* sm_spdy_interface_; | 
| 128   OutputList* output_list_; | 134   OutputList* output_list_; | 
| 129   OutputOrdering output_ordering_; | 135   OutputOrdering output_ordering_; | 
| 130   MemoryCache* memory_cache_; | 136   MemoryCache* memory_cache_; | 
| 131   FlipAcceptor* acceptor_; | 137   FlipAcceptor* acceptor_; | 
| 132 }; | 138 }; | 
| 133 | 139 | 
| 134 }  // namespace net | 140 }  // namespace net | 
| 135 | 141 | 
| 136 #endif  // NET_TOOLS_FLIP_SERVER_HTTP_INTERFACE_H_ | 142 #endif  // NET_TOOLS_FLIP_SERVER_HTTP_INTERFACE_H_ | 
| OLD | NEW | 
|---|