mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	[socket] add connect method (#8308)
This commit is contained in:
		| @@ -46,6 +46,7 @@ class BSDSocketImpl : public Socket { | |||||||
|       close();  // NOLINT(clang-analyzer-optin.cplusplus.VirtualCall) |       close();  // NOLINT(clang-analyzer-optin.cplusplus.VirtualCall) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |   int connect(const struct sockaddr *addr, socklen_t addrlen) override { return ::connect(fd_, addr, addrlen); } | ||||||
|   std::unique_ptr<Socket> accept(struct sockaddr *addr, socklen_t *addrlen) override { |   std::unique_ptr<Socket> accept(struct sockaddr *addr, socklen_t *addrlen) override { | ||||||
|     int fd = ::accept(fd_, addr, addrlen); |     int fd = ::accept(fd_, addr, addrlen); | ||||||
|     if (fd == -1) |     if (fd == -1) | ||||||
|   | |||||||
| @@ -39,6 +39,7 @@ class LwIPSocketImpl : public Socket { | |||||||
|       close();  // NOLINT(clang-analyzer-optin.cplusplus.VirtualCall) |       close();  // NOLINT(clang-analyzer-optin.cplusplus.VirtualCall) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |   int connect(const struct sockaddr *addr, socklen_t addrlen) override { return lwip_connect(fd_, addr, addrlen); } | ||||||
|   std::unique_ptr<Socket> accept(struct sockaddr *addr, socklen_t *addrlen) override { |   std::unique_ptr<Socket> accept(struct sockaddr *addr, socklen_t *addrlen) override { | ||||||
|     int fd = lwip_accept(fd_, addr, addrlen); |     int fd = lwip_accept(fd_, addr, addrlen); | ||||||
|     if (fd == -1) |     if (fd == -1) | ||||||
|   | |||||||
| @@ -21,7 +21,9 @@ class Socket { | |||||||
|   virtual int close() = 0; |   virtual int close() = 0; | ||||||
|   // not supported yet: |   // not supported yet: | ||||||
|   // virtual int connect(const std::string &address) = 0; |   // virtual int connect(const std::string &address) = 0; | ||||||
|   // virtual int connect(const struct sockaddr *addr, socklen_t addrlen) = 0; | #if defined(USE_SOCKET_IMPL_LWIP_SOCKETS) || defined(USE_SOCKET_IMPL_BSD_SOCKETS) | ||||||
|  |   virtual int connect(const struct sockaddr *addr, socklen_t addrlen) = 0; | ||||||
|  | #endif | ||||||
|   virtual int shutdown(int how) = 0; |   virtual int shutdown(int how) = 0; | ||||||
|  |  | ||||||
|   virtual int getpeername(struct sockaddr *addr, socklen_t *addrlen) = 0; |   virtual int getpeername(struct sockaddr *addr, socklen_t *addrlen) = 0; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user