// Copyright (C) 2021 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #pragma once
#include <functional> #include <memory>
#include"net/async_data_channel.h"
namespace android { namespace net {
class AsyncDataChannelServer;
// Callback thas is called when a new client connection has been accepted. using ConnectCallback =
std::function<void(std::shared_ptr<AsyncDataChannel>, AsyncDataChannelServer* server)>;
// An AsyncDataChannelServer is capable of listening to incoming connections. // // A Callback will be invoked whenever a new connection has been accepted. class AsyncDataChannelServer { public: // Destructor. virtual ~AsyncDataChannelServer() = default;
// Start listening for new connections. The callback will be invoked // when a new socket has been accepted. // // errno will be set in case of failure. virtualbool StartListening() = 0;
// Stop listening for new connections. The callback will not be // invoked, and sockets will not be accepted. // // This DOES not disconnect the server, and connections can still // be queued up. virtualvoid StopListening() = 0;
// Disconnects the server, no new connections are possible. // The callback will never be invoked again. virtualvoid Close() = 0;
// True if this server is connected and can accept incoming // connections. virtualbool Connected() = 0;
// Registers the callback that should be invoked whenever a new socket was // accepted. // // Before the callback the server should have stopped listening for new // incoming connections. The callee is responsible for calling StartListening // if needed. void SetOnConnectCallback(const ConnectCallback& callback) { callback_ = callback; }
protected:
ConnectCallback callback_;
};
} // namespace net
} // namespace android
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.