Class: Gio::UnixSocketAddress

Inherits:
SocketAddress show all
Defined in:
(unknown)

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from SocketAddress

#family, #family=, #native_size, #to_native

Constructor Details

#initialize(path, path_len, type) ⇒ Gio::SocketAddress

Creates a new GUnix::SocketAddress of type type with name path.

If type is %G_UNIX_SOCKET_ADDRESS_PATH, this is equivalent to
calling g_unix_socket_address_new().

If type is %G_UNIX_SOCKET_ADDRESS_ANONYMOUS, path and path_len will be
ignored.

If path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT, then path_len
bytes of path will be copied to the socket's path, and only those
bytes will be considered part of the name. (If path_len is -1,
then path is assumed to be NUL-terminated.) For example, if path
was "test", then calling g_socket_address_get_native_size() on the
returned socket would return 7 (2 bytes of overhead, 1 byte for the
abstract-socket indicator byte, and 4 bytes for the name "test").

If path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED, then
path_len bytes of path will be copied to the socket's path, the
rest of the path will be padded with 0 bytes, and the entire
zero-padded buffer will be considered the name. (As above, if
path_len is -1, then path is assumed to be NUL-terminated.) In
this case, g_socket_address_get_native_size() will always return
the full size of a struct sockaddr_un, although
g_unix_socket_address_get_path_len() will still return just the
length of path.

%G_UNIX_SOCKET_ADDRESS_ABSTRACT is preferred over
%G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED for new programs. Of course,
when connecting to a server created by another process, you must
use the appropriate type corresponding to how that process created
its listening socket.

Parameters:

  • path (Array<Gio::gchar>) —

    the name

  • path_len (Integer) —

    the length of path, or -1

  • type (Gio::UnixSocketAddressType) —

    a GUnix::SocketAddressType

Class Method Details

.abstract_names_supported ⇒ Boolean

Checks if abstract UNIX domain socket names are supported.

Returns:

  • (Boolean) —

    true if supported, false otherwise

Instance Method Details

#abstract=(abstract) ⇒ Boolean

Whether or not this is an abstract address

Parameters:

  • abstract (Boolean)

Returns:

  • (Boolean) —

    abstract

  • (Boolean) —

    abstract

#abstract? ⇒ Boolean

Whether or not this is an abstract address

Returns:

  • (Boolean) —

    abstract

#address_type ⇒ Gio::UnixSocketAddressType

The type of Unix socket address.

Returns:

#address_type=(address_type) ⇒ Gio::UnixSocketAddressType

The type of Unix socket address.

Parameters:

Returns:

#is_abstract ⇒ Boolean

Tests if address is abstract.

Returns:

  • (Boolean) —

    true if the address is abstract, false otherwise

#path ⇒ String

Unix socket path.

Returns:

  • (String) —

    path

#path=(path) ⇒ String

Unix socket path.

Parameters:

  • path (String)

Returns:

  • (String) —

    path

  • (String) —

    path

#path_as_array ⇒ Gio::

Unix socket path, as a byte array.

Returns:

  • (Gio::) —

    path-as-array

#path_as_array=(path_as_array) ⇒ Gio::

Unix socket path, as a byte array.

Parameters:

Returns:

  • (Gio::) —

    path-as-array

  • (Gio::) —

    path-as-array

#path_len ⇒ Integer

Gets the length of address's path.

For details, see g_unix_socket_address_get_path().

Returns:

  • (Integer) —

    the length of the path