| 1234567891011121314151617181920212223242526272829303132 |
- // Copyright (C) 2014 The Syncthing Authors.
- //
- // This Source Code Form is subject to the terms of the Mozilla Public
- // License, v. 2.0. If a copy of the MPL was not distributed with this file,
- // You can obtain one at http://mozilla.org/MPL/2.0/.
- package db
- import "github.com/syncthing/syncthing/lib/protocol"
- type FileInfoTruncated struct {
- protocol.FileInfo
- ActualSize int64
- }
- func (f *FileInfoTruncated) UnmarshalXDR(bs []byte) error {
- err := f.FileInfo.UnmarshalXDR(bs)
- f.ActualSize = f.FileInfo.Size()
- f.FileInfo.Blocks = nil
- return err
- }
- func (f FileInfoTruncated) Size() int64 {
- return f.ActualSize
- }
- func BlocksToSize(num int) int64 {
- if num < 2 {
- return protocol.BlockSize / 2
- }
- return int64(num-1)*protocol.BlockSize + protocol.BlockSize/2
- }
|