Versions in this module Expand all Collapse all v0 v0.2.23 May 14, 2021 Changes in this version + const BgSaveInterval + const BlockAll + const BlockCommitted + const BlockLatest + const BlockListTag + const BlockUncommitted + const CacheItemsPerBlob + const DefaultConcurency + const IndexFileName + const MaxCacheBlockSize + const ProxyStartTimeout + const ReqIDHeader + var ErrBadRequest = errors.New("invalid request") + var ErrNoLease = errors.New("no lease") + var ErrNotFound = errors.New("object not found") + func NewSkipReader(r io.Reader, offset uint64) io.Reader + func SerializeBlocklistXML(bl *XBlockListOut) ([]byte, error) + type Block struct + CommittedRev uint + CommittedSize uint64 + ID string + Offset uint64 + UploadedRev uint + UploadedSize uint64 + type DebugResponseWriter struct + func (drw *DebugResponseWriter) Header() http.Header + func (drw *DebugResponseWriter) Write(b []byte) (int, error) + func (drw *DebugResponseWriter) WriteHeader(s int) + type Index struct + Blocks []*Block + Size uint64 + func NewIndex(f storage.Folder) *Index + func (idx *Index) Clear() []string + func (idx *Index) GetBlockList(ltype string) *XBlockListOut + func (idx *Index) GetCachedReader(folder storage.Folder, s Section) (io.ReadCloser, error) + func (idx *Index) GetSections(rangeMin, rangeMax uint64) []Section + func (idx *Index) Load() error + func (idx *Index) PutBlock(id string, size uint64) string + func (idx *Index) PutBlockList(xblocklist *XBlockListIn) ([]string, error) + func (idx *Index) Save() error + func (idx *Index) SaveDelayed() + type Lease struct + End time.Time + ID string + type Section struct + BlockSize uint64 + Limit uint64 + Offset uint64 + Path string + type Server struct + func NewServer(folder storage.Folder) (*Server, error) + func (bs *Server) AcquireLock() (*flock.Flock, error) + func (bs *Server) HandleAcquireLease(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlob(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlobDelete(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlobGet(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlobHead(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlobPut(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlock(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlockList(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlockListGet(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlockListPut(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleBlockPut(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleChangeLease(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleLease(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleReleaseLease(w http.ResponseWriter, req *http.Request) + func (bs *Server) HandleRenewLease(w http.ResponseWriter, req *http.Request) + func (bs *Server) Run(ctx context.Context) error + func (bs *Server) RunBackground(ctx context.Context, cancel context.CancelFunc) error + func (bs *Server) ServeHTTP(w http.ResponseWriter, req *http.Request) + func (bs *Server) ServeHTTP2(w http.ResponseWriter, req *http.Request) + func (bs *Server) Shutdown() error + func (bs *Server) WaitReady(ctx context.Context, timeout time.Duration) error + type SkipReader struct + func (r *SkipReader) Read(s []byte) (int, error) + type XBlockIn struct + ID string + Mode string + func (b *XBlockIn) MarshalXML(e *xml.Encoder, start xml.StartElement) error + func (b *XBlockIn) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error + type XBlockListIn struct + Blocks []XBlockIn + func ParseBlocklistXML(data []byte) (*XBlockListIn, error) + func (bl *XBlockListIn) MarshalXML(e *xml.Encoder, start xml.StartElement) error + func (bl *XBlockListIn) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error + type XBlockListOut struct + CommittedBlocks struct{ ... } + UncommittedBlocks struct{ ... } + XMLName xml.Name + type XBlockOut struct + Name string + Size uint64 + XMLName xml.Name