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. |