blob: 9323da82d75ec956bfba1036f0863169b5bc6094 [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 Silverman66f079a2013-08-26 16:24:30 -07006#include "aos/atom_code/configuration.h"
7#include "aos/common/network_port.h"
8#include "aos/common/util.h"
9
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