PROP_0,
PROP_FD,
PROP_BLOCKING,
+ PROP_BACKLOG,
PROP_LOCAL_ADDRESS,
PROP_REMOTE_ADDRESS
};
{
gint fd;
gboolean blocking;
+ gint backlog;
GSocketAddress *local_address;
GSocketAddress *remote_address;
};
g_value_set_boolean (value, socket->priv->blocking);
break;
+ case PROP_BACKLOG:
+ g_value_set_int (value, socket->priv->backlog);
+ break;
+
case PROP_LOCAL_ADDRESS:
g_value_set_object (value, socket->priv->local_address);
break;
g_socket_set_blocking (socket, g_value_get_boolean (value));
break;
+ case PROP_BACKLOG:
+ socket->priv->backlog = g_value_get_int (value);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
TRUE,
G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_BLURB | G_PARAM_STATIC_NICK));
+ g_object_class_install_property (gobject_class, PROP_BACKLOG,
+ g_param_spec_int ("backlog",
+ "listen backlog",
+ "outstanding connections in the listen queue",
+ 0,
+ SOMAXCONN,
+ 10,
+ G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_BLURB | G_PARAM_STATIC_NICK));
+
g_object_class_install_property (gobject_class, PROP_LOCAL_ADDRESS,
g_param_spec_object ("local-address",
"local address",
socket->priv->fd = -1;
socket->priv->blocking = TRUE;
+ socket->priv->backlog = 10;
socket->priv->remote_address = NULL;
socket->priv->local_address = NULL;
}
}
void
-g_socket_listen (GSocket *socket,
- gint backlog)
+g_socket_listen (GSocket *socket)
{
g_return_if_fail (G_IS_SOCKET (socket));
- listen (socket->priv->fd, backlog);
+ listen (socket->priv->fd, socket->priv->backlog);
}
gboolean