| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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_SM_INTERFACE_H_ | 5 #ifndef NET_TOOLS_FLIP_SERVER_SM_INTERFACE_H_ |
| 6 #define NET_TOOLS_FLIP_SERVER_SM_INTERFACE_H_ | 6 #define NET_TOOLS_FLIP_SERVER_SM_INTERFACE_H_ |
| 7 | 7 |
| 8 // State Machine Interfaces | 8 // State Machine Interfaces |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 public: | 21 public: |
| 22 virtual void InitSMInterface(SMInterface* sm_other_interface, | 22 virtual void InitSMInterface(SMInterface* sm_other_interface, |
| 23 int32 server_idx) = 0; | 23 int32 server_idx) = 0; |
| 24 virtual void InitSMConnection(SMConnectionPoolInterface* connection_pool, | 24 virtual void InitSMConnection(SMConnectionPoolInterface* connection_pool, |
| 25 SMInterface* sm_interface, | 25 SMInterface* sm_interface, |
| 26 EpollServer* epoll_server, | 26 EpollServer* epoll_server, |
| 27 int fd, | 27 int fd, |
| 28 std::string server_ip, | 28 std::string server_ip, |
| 29 std::string server_port, | 29 std::string server_port, |
| 30 std::string remote_ip, | 30 std::string remote_ip, |
| 31 bool use_ssl) = 0; | 31 bool use_ssl) = 0; |
| 32 virtual size_t ProcessReadInput(const char* data, size_t len) = 0; | 32 virtual size_t ProcessReadInput(const char* data, size_t len) = 0; |
| 33 virtual size_t ProcessWriteInput(const char* data, size_t len) = 0; | 33 virtual size_t ProcessWriteInput(const char* data, size_t len) = 0; |
| 34 virtual void SetStreamID(uint32 stream_id) = 0; | 34 virtual void SetStreamID(uint32 stream_id) = 0; |
| 35 virtual bool MessageFullyRead() const = 0; | 35 virtual bool MessageFullyRead() const = 0; |
| 36 virtual bool Error() const = 0; | 36 virtual bool Error() const = 0; |
| 37 virtual const char* ErrorAsString() const = 0; | 37 virtual const char* ErrorAsString() const = 0; |
| 38 virtual void Reset() = 0; | 38 virtual void Reset() = 0; |
| 39 virtual void ResetForNewInterface(int32 server_idx) = 0; | 39 virtual void ResetForNewInterface(int32 server_idx) = 0; |
| 40 // ResetForNewConnection is used for interfaces which control SMConnection | 40 // ResetForNewConnection is used for interfaces which control SMConnection |
| 41 // objects. When called an interface may put its connection object into | 41 // objects. When called an interface may put its connection object into |
| 42 // a reusable instance pool. Currently this is what the HttpSM interface | 42 // a reusable instance pool. Currently this is what the HttpSM interface |
| 43 // does. | 43 // does. |
| 44 virtual void ResetForNewConnection() = 0; | 44 virtual void ResetForNewConnection() = 0; |
| 45 virtual void Cleanup() = 0; | 45 virtual void Cleanup() = 0; |
| 46 | 46 |
| 47 virtual int PostAcceptHook() = 0; | 47 virtual int PostAcceptHook() = 0; |
| 48 | 48 |
| 49 virtual void NewStream(uint32 stream_id, uint32 priority, | 49 virtual void NewStream(uint32 stream_id, |
| 50 uint32 priority, |
| 50 const std::string& filename) = 0; | 51 const std::string& filename) = 0; |
| 51 virtual void SendEOF(uint32 stream_id) = 0; | 52 virtual void SendEOF(uint32 stream_id) = 0; |
| 52 virtual void SendErrorNotFound(uint32 stream_id) = 0; | 53 virtual void SendErrorNotFound(uint32 stream_id) = 0; |
| 53 virtual size_t SendSynStream(uint32 stream_id, | 54 virtual size_t SendSynStream(uint32 stream_id, |
| 54 const BalsaHeaders& headers) = 0; | 55 const BalsaHeaders& headers) = 0; |
| 55 virtual size_t SendSynReply(uint32 stream_id, | 56 virtual size_t SendSynReply(uint32 stream_id, |
| 56 const BalsaHeaders& headers) = 0; | 57 const BalsaHeaders& headers) = 0; |
| 57 virtual void SendDataFrame(uint32 stream_id, const char* data, int64 len, | 58 virtual void SendDataFrame(uint32 stream_id, |
| 58 uint32 flags, bool compress) = 0; | 59 const char* data, |
| 60 int64 len, |
| 61 uint32 flags, |
| 62 bool compress) = 0; |
| 59 virtual void GetOutput() = 0; | 63 virtual void GetOutput() = 0; |
| 60 virtual void set_is_request() = 0; | 64 virtual void set_is_request() = 0; |
| 61 | 65 |
| 62 virtual ~SMInterface() {} | 66 virtual ~SMInterface() {} |
| 63 }; | 67 }; |
| 64 | 68 |
| 65 class SMConnectionInterface { | 69 class SMConnectionInterface { |
| 66 public: | 70 public: |
| 67 virtual ~SMConnectionInterface() {} | 71 virtual ~SMConnectionInterface() {} |
| 68 virtual void ReadyToSend() = 0; | 72 virtual void ReadyToSend() = 0; |
| 69 virtual EpollServer* epoll_server() = 0; | 73 virtual EpollServer* epoll_server() = 0; |
| 70 }; | 74 }; |
| 71 | 75 |
| 72 class SMConnectionPoolInterface { | 76 class SMConnectionPoolInterface { |
| 73 public: | 77 public: |
| 74 virtual ~SMConnectionPoolInterface() {} | 78 virtual ~SMConnectionPoolInterface() {} |
| 75 virtual void SMConnectionDone(SMConnection* connection) = 0; | 79 virtual void SMConnectionDone(SMConnection* connection) = 0; |
| 76 }; | 80 }; |
| 77 | 81 |
| 78 } // namespace net | 82 } // namespace net |
| 79 | 83 |
| 80 #endif // NET_TOOLS_FLIP_SERVER_SM_INTERFACE_H_ | 84 #endif // NET_TOOLS_FLIP_SERVER_SM_INTERFACE_H_ |
| 81 | |
| OLD | NEW |