MCPcopy
hub / github.com/syncthing/syncthing / GenerateDeviceFileKey

Method GenerateDeviceFileKey

internal/db/olddb/keyer.go:153–168  ·  view source on GitHub ↗
(key, folder, device, name []byte)

Source from the content-addressed store, hash-verified

151}
152
153func (k defaultKeyer) GenerateDeviceFileKey(key, folder, device, name []byte) (deviceFileKey, error) {
154 folderID, err := k.folderIdx.ID(folder)
155 if err != nil {
156 return nil, err
157 }
158 deviceID, err := k.deviceIdx.ID(device)
159 if err != nil {
160 return nil, err
161 }
162 key = resize(key, keyPrefixLen+keyFolderLen+keyDeviceLen+len(name))
163 key[0] = KeyTypeDevice
164 binary.BigEndian.PutUint32(key[keyPrefixLen:], folderID)
165 binary.BigEndian.PutUint32(key[keyPrefixLen+keyFolderLen:], deviceID)
166 copy(key[keyPrefixLen+keyFolderLen+keyDeviceLen:], name)
167 return key, nil
168}
169
170func (defaultKeyer) NameFromDeviceFileKey(key []byte) []byte {
171 return key[keyPrefixLen+keyFolderLen+keyDeviceLen:]

Callers

nothing calls this directly

Calls 2

resizeFunction · 0.85
IDMethod · 0.65

Tested by

no test coverage detected