// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/socket/server_socket.h" #include "net/base/ip_address.h" #include "net/base/ip_endpoint.h" #include "net/base/net_errors.h" namespace net { ServerSocket::ServerSocket() = default; ServerSocket::~ServerSocket() = default; int ServerSocket::ListenWithAddressAndPort(const std::string& address_string, uint16_t port, int backlog) { IPAddress ip_address; if (!ip_address.AssignFromIPLiteral(address_string)) { return ERR_ADDRESS_INVALID; } return Listen(IPEndPoint(ip_address, port), backlog, /*ipv6_only=*/std::nullopt); } int ServerSocket::Accept(std::unique_ptr* socket, net::CompletionOnceCallback callback, net::IPEndPoint* peer_address) { if (peer_address) { *peer_address = IPEndPoint(); } return Accept(socket, std::move(callback)); } } // namespace net