Versions in this module Expand all Collapse all v0 v0.2.0 Aug 6, 2024 Changes in this version + const FileAttributeTagInfo — windows/amd64 + const PROTOCOLVERSION + var ErrNotSupportedByPlatform = errors.New("not supported on this platform") + var ErrPleaseSayHello = errors.New("Client needs to say hello") + var ErrPleaseSayHelloOnce = errors.New("Client needs to say hello just once") + var ErrTypeError = errors.New("type error") + var Logger zerolog.Logger + func CompressedReadWriteCloser(rwc io.ReadWriteCloser) io.ReadWriteCloser + func NewPerformance() *performance + func NewStack[T any](inbuffer, outbuffer int) (*stack[T], <-chan T, chan<- T) + type AtomicAdder func(uint64) + type Client struct + AlwaysChecksum bool + BasePath string + BlockSize int + Delete bool + Options SharedOptions + ParallelDir int + ParallelFile int + Perf *performance + PreserveHardlinks bool + QueueSize int + func NewClient() *Client + func (c *Client) Abort() + func (c *Client) Done() bool + func (c *Client) PostProcessDir(item *dirinfo) + func (c *Client) ProcessedItemInDir(path string) + func (c *Client) Run(client *rpc.Client) error + func (c *Client) Stats() (inodes, directories, filequeue, directoriestack int) + func (c *Client) Wait() + type FILE_ATTRIBUTE_TAG_INFO struct — windows/amd64 + FileAttributes uint32 + ReparseTag uint32 + type FileInfo struct + Atim syscall.Timespec + Ctim syscall.Timespec + Dev uint64 + Group uint32 + Inode uint64 + IsDir bool + LinkTo string + Mode fs.FileMode + Mtim syscall.Timespec + Name string + Nlink uint64 + Owner uint32 + Permissions uint32 + Rdev uint64 + Size int64 + Xattrs map[string][]byte + func InfoToFileInfo(info os.FileInfo, absolutepath string) (FileInfo, error) + func PathToFileInfo(absolutepath string) (FileInfo, error) + func (f *FileInfo) Chown(fi2 FileInfo) error + func (f FileInfo) Chmod(fi2 FileInfo) error + func (f FileInfo) Create(remotefi FileInfo) error + func (f FileInfo) SetTimestamps(fi2 FileInfo) error + func (fi *FileInfo) Chown(fi2 FileInfo) error + func (fi FileInfo) ApplyChanges(fi2 FileInfo) error + func (fi FileInfo) Chmod(fi2 FileInfo) error + func (fi FileInfo) Create(fi2 FileInfo) error + func (fi FileInfo) SetTimestamps(fi2 FileInfo) error + func (x *FileInfo) CodecDecodeSelf(d *codec1978.Decoder) + func (x *FileInfo) CodecEncodeSelf(e *codec1978.Encoder) + func (x *FileInfo) IsCodecEmpty() bool + type FileListResponse struct + Files []FileInfo + ParentDirectory string + func (x *FileListResponse) CodecDecodeSelf(d *codec1978.Decoder) + func (x *FileListResponse) CodecEncodeSelf(e *codec1978.Encoder) + func (x *FileListResponse) IsCodecEmpty() bool + type GetChunkArgs struct + Offset uint64 + Path string + Size uint64 + func (x *GetChunkArgs) CodecDecodeSelf(d *codec1978.Decoder) + func (x *GetChunkArgs) CodecEncodeSelf(e *codec1978.Encoder) + func (x *GetChunkArgs) IsCodecEmpty() bool + type PerformanceCounterType int + const BytesProcessed + const DirectoriesProcessed + const EntriesDeleted + const FileQueue + const FilesProcessed + const FolderQueue + const ReadBytes + const RecievedBytes + const RecievedOverWire + const SentBytes + const SentOverWire + const WrittenBytes + type PerformanceEntry struct + func (pe PerformanceEntry) Add(pe2 PerformanceEntry) PerformanceEntry + func (pe PerformanceEntry) Get(pc PerformanceCounterType) uint64 + type PerformanceWrapperReadWriteCloser struct + func NewPerformanceWrapper(rwc io.ReadWriteCloser, onRead, onWrite AtomicAdder) *PerformanceWrapperReadWriteCloser + func (pw *PerformanceWrapperReadWriteCloser) Close() error + func (pw *PerformanceWrapperReadWriteCloser) Read(b []byte) (int, error) + func (pw *PerformanceWrapperReadWriteCloser) Write(b []byte) (int, error) + type Server struct + BasePath string + Options SharedOptions + Perf *performance + ReadOnly bool + func NewServer() *Server + func (s *Server) ChecksumChunk(args GetChunkArgs, checksum *uint64) error + func (s *Server) Close(path string, reply *interface{}) error + func (s *Server) GetChunk(args GetChunkArgs, data *[]byte) error + func (s *Server) Hello(options SharedOptions, reply *any) error + func (s *Server) List(path string, reply *FileListResponse) error + func (s *Server) Open(path string, reply *interface{}) error + func (s *Server) Shutdown(input any, reply *any) error + func (s *Server) Stat(path string, reply *FileInfo) error + func (s *Server) Wait() + type SharedOptions struct + ProtocolVersion int + SendXattr bool v0.1.0 May 30, 2024