#include "io/net-listener.h"
#include "io/dns-resolver.h"
#include "qapi/error.h"
+#include "qemu/module.h"
QIONetListener *qio_net_listener_new(void)
{
- QIONetListener *ret;
-
- ret = QIO_NET_LISTENER(object_new(TYPE_QIO_NET_LISTENER));
-
- return ret;
+ return QIO_NET_LISTENER(object_new(TYPE_QIO_NET_LISTENER));
}
void qio_net_listener_set_name(QIONetListener *listener,
int qio_net_listener_open_sync(QIONetListener *listener,
SocketAddress *addr,
+ int num,
Error **errp)
{
QIODNSResolver *resolver = qio_dns_resolver_get_instance();
for (i = 0; i < nresaddrs; i++) {
QIOChannelSocket *sioc = qio_channel_socket_new();
- if (qio_channel_socket_listen_sync(sioc, resaddrs[i],
+ if (qio_channel_socket_listen_sync(sioc, resaddrs[i], num,
err ? NULL : &err) == 0) {
success = true;
QIOChannelSocket *sioc)
{
if (listener->name) {
- char *name = g_strdup_printf("%s-listen", listener->name);
- qio_channel_set_name(QIO_CHANNEL(sioc), name);
- g_free(name);
+ qio_channel_set_name(QIO_CHANNEL(sioc), listener->name);
}
listener->sioc = g_renew(QIOChannelSocket *, listener->sioc,
QIONetListener *listener = QIO_NET_LISTENER(obj);
size_t i;
+ if (listener->io_notify) {
+ listener->io_notify(listener->io_data);
+ }
qio_net_listener_disconnect(listener);
for (i = 0; i < listener->nsioc; i++) {
.name = TYPE_QIO_NET_LISTENER,
.instance_size = sizeof(QIONetListener),
.instance_finalize = qio_net_listener_finalize,
- .class_size = sizeof(QIONetListenerClass),
};