| EventDance - Documentation and Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Signals | ||||
EvdSocket; EvdSocketClass; EvdSocketPrivate; EvdSocketEvent; void (*EvdSocketNotifyConditionCallback) (EvdSocket *self,GIOCondition condition,gpointer user_data); enum EvdSocketState; EvdSocket * evd_socket_new (void); GSocket * evd_socket_get_socket (EvdSocket *self); GMainContext * evd_socket_get_context (EvdSocket *self); GSocketFamily evd_socket_get_family (EvdSocket *self); EvdSocketState evd_socket_get_status (EvdSocket *self); gint evd_socket_get_priority (EvdSocket *self); void evd_socket_set_priority (EvdSocket *self,gint priority); gboolean evd_socket_close (EvdSocket *self,GError **error); GSocketAddress * evd_socket_get_remote_address (EvdSocket *self,GError **error); GSocketAddress * evd_socket_get_local_address (EvdSocket *self,GError **error); gboolean evd_socket_shutdown (EvdSocket *self,gboolean shutdown_read,gboolean shutdown_write,GError **error); gboolean evd_socket_watch_condition (EvdSocket *self,GIOCondition cond,GError **error); GIOCondition evd_socket_get_condition (EvdSocket *self); void evd_socket_set_notify_condition_callback (EvdSocket *self,EvdSocketNotifyConditionCallback callback,gpointer user_data); gboolean evd_socket_bind_addr (EvdSocket *self,GSocketAddress *address,gboolean allow_reuse,GError **error); void evd_socket_bind_async (EvdSocket *self,const gchar *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data); gboolean evd_socket_bind_finish (EvdSocket *self,GAsyncResult *result,GError **error); gboolean evd_socket_listen_addr (EvdSocket *self,GSocketAddress *address,GError **error); void evd_socket_listen_async (EvdSocket *self,const gchar *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data); gboolean evd_socket_listen_finish (EvdSocket *self,GAsyncResult *result,GError **error); void evd_socket_connect_async (EvdSocket *self,const gchar *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data); void evd_socket_connect_async_addr (EvdSocket *self,GSocketAddress *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data); GIOStream * evd_socket_connect_finish (EvdSocket *self,GAsyncResult *result,GError **error);
"family" GSocketFamily : Read / Write "io-stream-type" GType* : Read / Write "priority" gint : Read / Write "protocol" GSocketProtocol : Read / Write "socket" GSocket* : Read "status" guint : Read "type" GSocketType : Read / Write
"close" : Run Last / Action "error" : Run Last / Action "new-connection" : Run Last / Action "state-changed" : Run Last / Action
EvdSocket sockets are Berkeley-style sockets optmized for performance and scalability under high-concurrency scenarios.
typedef struct {
GObjectClass parent_class;
/* virtual methods */
gboolean (* handle_condition) (EvdSocket *self, GIOCondition condition);
gboolean (* cleanup) (EvdSocket *self, GError **error);
/* signal prototypes */
void (* error) (EvdSocket *self,
guint32 error_domain,
gint error_code,
gchar *error_message,
gpointer user_data);
void (* state_changed) (EvdSocket *self,
EvdSocketState new_state,
EvdSocketState old_state);
void (* close) (EvdSocket *self);
void (* new_connection) (EvdSocket *self,
GIOStream *socket,
gpointer user_data);
} EvdSocketClass;
void (*EvdSocketNotifyConditionCallback) (EvdSocket *self,GIOCondition condition,gpointer user_data);
|
|
|
|
|
typedef enum
{
EVD_SOCKET_STATE_CLOSED,
EVD_SOCKET_STATE_CONNECTING,
EVD_SOCKET_STATE_CONNECTED,
EVD_SOCKET_STATE_RESOLVING,
EVD_SOCKET_STATE_BOUND,
EVD_SOCKET_STATE_LISTENING,
EVD_SOCKET_STATE_TLS_HANDSHAKING,
EVD_SOCKET_STATE_CLOSING
} EvdSocketState;
void evd_socket_set_priority (EvdSocket *self,gint priority);
|
|
|
gboolean evd_socket_close (EvdSocket *self,GError **error);
|
|
|
|
Returns : |
GSocketAddress * evd_socket_get_remote_address (EvdSocket *self,GError **error);
|
|
|
|
Returns : |
GSocketAddress * evd_socket_get_local_address (EvdSocket *self,GError **error);
|
|
|
|
Returns : |
gboolean evd_socket_shutdown (EvdSocket *self,gboolean shutdown_read,gboolean shutdown_write,GError **error);
|
|
|
|
|
|
|
|
Returns : |
gboolean evd_socket_watch_condition (EvdSocket *self,GIOCondition cond,GError **error);
|
|
|
|
|
|
Returns : |
GIOCondition evd_socket_get_condition (EvdSocket *self);
|
|
Returns : |
void evd_socket_set_notify_condition_callback (EvdSocket *self,EvdSocketNotifyConditionCallback callback,gpointer user_data);
|
|
|
. [allow-none] |
|
. [allow-none] |
gboolean evd_socket_bind_addr (EvdSocket *self,GSocketAddress *address,gboolean allow_reuse,GError **error);
|
|
|
|
|
|
|
|
Returns : |
void evd_socket_bind_async (EvdSocket *self,const gchar *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
|
|
|
|
|
|
|
|
|
gboolean evd_socket_bind_finish (EvdSocket *self,GAsyncResult *result,GError **error);
|
|
|
|
|
|
Returns : |
gboolean evd_socket_listen_addr (EvdSocket *self,GSocketAddress *address,GError **error);
|
|
|
|
|
|
Returns : |
void evd_socket_listen_async (EvdSocket *self,const gchar *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
|
|
|
|
|
|
|
|
|
gboolean evd_socket_listen_finish (EvdSocket *self,GAsyncResult *result,GError **error);
|
|
|
|
|
|
Returns : |
void evd_socket_connect_async (EvdSocket *self,const gchar *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
|
|
|
|
|
|
|
|
|
void evd_socket_connect_async_addr (EvdSocket *self,GSocketAddress *address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
|
|
|
|
|
|
|
|
|
GIOStream * evd_socket_connect_finish (EvdSocket *self,GAsyncResult *result,GError **error);
|
|
|
|
|
|
Returns : |
"family" property "family" GSocketFamily : Read / Write
The sockets address family.
Default value: G_SOCKET_FAMILY_INVALID
"io-stream-type" property "io-stream-type" GType* : Read / Write
The GType of the socket's IO stream returned by #evd_socket_get_io_stream.
"priority" property "priority" gint : Read / Write
The priority of the socket when dispatching its events in the loop.
Allowed values: [-100,300]
Default value: 0
"protocol" property "protocol" GSocketProtocol : Read / Write
The id of the protocol to use, or -1 for unknown.
Default value: G_SOCKET_PROTOCOL_UNKNOWN
"status" property "status" guint : Read
The current status of the socket (closed, connected, listening, etc).
Allowed values: <= 5
Default value: 0
"close" signalvoid user_function (EvdSocket *evdsocket, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
"error" signalvoid user_function (EvdSocket *evdsocket, guint arg1, gint arg2, gchar *arg3, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
|
|
|
|
|
|
user data set when the signal handler was connected. |
"new-connection" signalvoid user_function (EvdSocket *evdsocket, GIOStream *arg1, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
|
|
user data set when the signal handler was connected. |
"state-changed" signalvoid user_function (EvdSocket *evdsocket, guint arg1, guint arg2, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
|
|
|
|
user data set when the signal handler was connected. |