Get desktop application:
View/edit binary Protocol Buffers messages
Binary data object. Blobs are used mostly (but not exclusively) to represent contents of files: sending an entire file in one Protocol Buffers message is not feasible, so we divide files to smaller portions and deliver it to the server one by one. On the server, the blob sink stores blobs immediately in a blobstore instead of storing it in the database to be later picked up by a worker for further processing.
Binary data that the blob represents.
Extended attribute of a file. Note that extended attributes are not available on Windows and there are some differences between how they work on macOS and Linux. See the [Wikipedia][1] article for more details. [Wikipedia]: https://en.wikipedia.org/wiki/Extended_file_attributes
Used in:
A name of the article. On macOS this is an UTF-8 encoded string, but on Linux it can consist of arbitrary byte sequence (although most probably it will be also an UTF-8 string).
A value of the attribute. This can be an arbitrary sequence of bytes both on macOS and Linux.
Metadata associated with a specific file.
Used in: ,
Type of the file.
Size of the file in bytes.
Time at which the file was last accessed.
Time at which the file was last modified.
Time at which the file was created.
Identifier of the device containing the file (Unix-only).
Inode number of the file (Unix-only).
Type and rights mask of the file (Unix-only).
Number of hard links pointing to the file (Unix-only).
Identifier of the user owning the file (Unix-only).
Identifier of the group owning the file (Unix-only).
Identifier of the device (only for special files, Unix-only).
Block size for the filesystem I/O.
Number of blocks allocated for the file.
List of different file types.
Used in:
Unknown (or unspecified).
Regular file.
Directory.
Symbolic link.
Information about a mounted filesystem.
Used in:
Name or other identifier of the mounted device.
Path at which the mounted filesystem is available (a mount point).
Type of the mounted filesystem (e.g. `ext4`, `ramfs`, `NTFS`).
Path in the filesystem.
Used in: , , , , , , , , , , , , , , , , , ,
Raw bytes representing the path. Different operating systems represent paths differently and have varying capabilities. In most general case, Linux systems allow paths with pretty much arbitrary bytes and so we need to support this case. On Windows, where paths are stored using UCS-2 encoding (that is 16-bit), represent paths with the WTF-8 encoding [1]: an "almost UTF-8". So, even if the language does not have support for WTF-8, we can treat it as UTF-8 and still get more-or-less meaningful results. [1]: https://simonsapin.github.io/wtf-8