template <>

class WireSyncClientImpl

Defined at line 1272 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/wire_messaging.h

Methods to make a sync FIDL call directly on an unowned handle or a

const reference to a |::fidl::ClientEnd

<

::fuchsia_io::AdvisoryLocking>|,

avoiding setting up a client.

Public Methods

::fidl::WireResult< ::fuchsia_io::AdvisoryLocking::AdvisoryLock> AdvisoryLock (::fuchsia_io::wire::AdvisoryLockRequest request)

Acquires an advisory lock on the underlying file.

The lock lasts until either this connection is closed or

this method is called with |AdvisoryLockType.UNLOCK| to release the lock

explicitly.

Advisory locks are purely advisory. They do not prevent actual read or

write operations from occurring on the file, either through this

connection or through other connections.

This method requires the following rights:

* [`Rights.READ_BYTES`] if `request.type` is [`AdvisoryLockType.READ`].

* [`Rights.WRITE_BYTES`] if `request.type` is

[`AdvisoryLockType.WRITE`].

# Errors

* `ZX_ERR_BAD_STATE` The specified type of lock cannot be acquired. For

example, another connection might hold a conflicting lock type.

* `ZX_ERR_NOT_SUPPORTED` This file does not support advisory locking.

* `ZX_ERR_ACCESS_DENIED` This connection does not have sufficient rights

to acquire the given type of lock.

Allocates 112 bytes of message buffer on the stack. No heap allocation necessary.