blob: 1ca0c4ce20cad2c755a605a7eea06cd6c3fa616f [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001#ifndef AOS_NETWORK_SEND_SOCKET_H_
2#define AOS_NETWORK_SEND_SOCKET_H_
3
4#include "Socket.h"
5
Brian Silverman14fd0fb2014-01-14 21:42:01 -08006#include "aos/linux_code/configuration.h"
Brian Silverman66f079a2013-08-26 16:24:30 -07007#include "aos/common/network_port.h"
Brianc1dc7d22014-04-02 12:21:08 -07008#include "aos/common/util/inet_addr.h"
Brian Silverman66f079a2013-08-26 16:24:30 -07009
brians343bc112013-02-10 01:53:46 +000010namespace aos {
11
12class SendSocket : public Socket {
13 public:
brians343bc112013-02-10 01:53:46 +000014 // Connect must be called before use.
15 SendSocket() {}
16 // Calls Connect automatically.
Brian Silverman66f079a2013-08-26 16:24:30 -070017 SendSocket(NetworkPort port, ::aos::NetworkAddress address) {
18 Connect(port,
19 ::aos::util::MakeIPAddress(::aos::configuration::GetOwnIPAddress(),
20 address));
brians343bc112013-02-10 01:53:46 +000021 }
Brian Silvermana9cbe302013-03-12 18:41:44 -070022 int Connect(NetworkPort port, const char *robot_ip, int type = SOCK_DGRAM);
brians343bc112013-02-10 01:53:46 +000023};
24
25} // namespace aos
26
27#endif
28