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_supportedBoolean

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_typeGio::UnixSocketAddressType

The type of Unix socket address.

Returns:

#address_type=(address_type) ⇒ Gio::UnixSocketAddressType

The type of Unix socket address.

Parameters:

Returns:

#is_abstractBoolean

Tests if address is abstract.

Returns:

  • (Boolean)

    true if the address is abstract, false otherwise

#pathString

Unix socket path.

Returns:

  • (String)

    path

#path=(path) ⇒ String

Unix socket path.

Parameters:

  • path (String)

Returns:

  • (String)

    path

  • (String)

    path

#path_as_arrayGio::

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_lenInteger

Gets the length of address's path.

For details, see g_unix_socket_address_get_path().

Returns:

  • (Integer)

    the length of the path