brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 1 | #ifndef AOS_NETWORK_SEND_SOCKET_H_ |
| 2 | #define AOS_NETWORK_SEND_SOCKET_H_ |
| 3 | |
| 4 | #include "Socket.h" |
| 5 | |
| 6 | namespace aos { |
| 7 | |
| 8 | class SendSocket : public Socket { |
| 9 | public: |
Brian Silverman | 3204dd8 | 2013-03-12 18:42:01 -0700 | [diff] [blame^] | 10 | //inline int Send(const void *buf, int length) { return Socket::Send(buf, length); } |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 11 | // Connect must be called before use. |
| 12 | SendSocket() {} |
| 13 | // Calls Connect automatically. |
Brian Silverman | a9cbe30 | 2013-03-12 18:41:44 -0700 | [diff] [blame] | 14 | SendSocket(NetworkPort port, const char *robot_ip) { |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 15 | Connect(port, robot_ip); |
| 16 | } |
Brian Silverman | a9cbe30 | 2013-03-12 18:41:44 -0700 | [diff] [blame] | 17 | int Connect(NetworkPort port, const char *robot_ip, int type = SOCK_DGRAM); |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 18 | |
| 19 | static const size_t MAX_MSG = 4096; |
Brian Silverman | a9cbe30 | 2013-03-12 18:41:44 -0700 | [diff] [blame] | 20 | char hold_msg_[MAX_MSG]; |
| 21 | size_t hold_msg_len_; |
| 22 | int SendHoldMsg(); |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 23 | }; |
| 24 | |
| 25 | } // namespace aos |
| 26 | |
| 27 | #endif |
| 28 | |