blob: df53c47f14612e40ed8459bc4c6d75346f96f829 [file] [log] [blame]
Brianc9f64552014-04-02 19:44:09 -07001#include "aos/common/network/send_socket.h"
brians343bc112013-02-10 01:53:46 +00002
3#include <string.h>
4#include <errno.h>
5#include <stdint.h>
6#include <stddef.h>
7#include <math.h>
Brianc9f64552014-04-02 19:44:09 -07008#include <sys/socket.h>
brians343bc112013-02-10 01:53:46 +00009
Brian Silverman598800f2013-05-09 17:08:42 -070010#include "aos/common/logging/logging.h"
brians343bc112013-02-10 01:53:46 +000011
12namespace aos {
Brianc9f64552014-04-02 19:44:09 -070013namespace network {
brians343bc112013-02-10 01:53:46 +000014
15int SendSocket::Connect(NetworkPort port, const char *robot_ip, int type) {
16 Reset();
17 const int ret = Socket::Connect(port, robot_ip, type);
18 if (ret != 0) {
19 return ret;
20 }
21
Brianc9f64552014-04-02 19:44:09 -070022 if (connect(socket_, &addr_.addr, sizeof(addr_)) < 0) {
brians343bc112013-02-10 01:53:46 +000023 LOG(ERROR, "couldn't connect to ip '%s' because of %d: %s\n", robot_ip,
24 errno, strerror(errno));
25 last_ret_ = 1;
26 }
27
Brianc9f64552014-04-02 19:44:09 -070028 // TODO(brians): Is this a bug?
brians343bc112013-02-10 01:53:46 +000029 return last_ret_ = 0;
30}
31
Brianc9f64552014-04-02 19:44:09 -070032} // namespace network
Brian Silvermanf3e1de82013-04-09 18:45:41 -070033} // namespace aos