You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 6, 2022. It is now read-only.
Below is the first draft of an IPLD Schema for a UnixFSv2 that we could build and ship this year.
The implementation of the advanced layouts is yet to be defined.
If this seems reasonable I’ll take this, along with any modifications, and turn it into a larger pull request to replace the current spec.
type Files union {
| Map “map”
| Hamt “hamt”
} representation keyed
type FileUnion union {
| File “file”
| &File “fileLink”
} representation keyed
type Hamt {String:FileUnion}<HAMT>
advanced HAMT {
implementation "IPLD/experimental/HAMT/v1"
}
type Directory struct {
name optional String
size optional Int
files Files
}
advanced ByteListLayout {
# array of bytes or links to bytes
}
advanced FlatListLayout {
# balanced flat tree w/ max leaf size of bytes
}
type ByteList bytes<ByteListLayout>
type FlatList bytes<FlatListLayout>
type Data union {
| Bytes “bytes”
| &Bytes “bytesLink”
| ByteList “bytesList”
| &ByteList “bytesListLink”
| FlatList “flatList”
| &FlatList “flatListLink”
} representation keyed
type Permissions struct {
uid Int
gid Int
posix Int # The standard 0777 bitpacking masks
sticky Bool (implicit: false)
setuid Bool (implicit: false)
setgid Bool (implicit: false)
}
type Attributes struct {
mtime optional Int
atime optional Int
ctime optional Int
mtime64 optional Int
atime64 optional Int
ctime64 optional Int
permissions optional Permissions
devMajor optional Int
devMinor optional Int
}
type File struct {
name optional String
data optional Data
dataLink optional &Data
}
The text was updated successfully, but these errors were encountered:
Below is the first draft of an IPLD Schema for a UnixFSv2 that we could build and ship this year.
The implementation of the advanced layouts is yet to be defined.
If this seems reasonable I’ll take this, along with any modifications, and turn it into a larger pull request to replace the current spec.
The text was updated successfully, but these errors were encountered: