Documentation ¶
Index ¶
- Variables
- func NewDecoder(f io.Reader, opts ...DecoderOption) (*decoder, error)
- func ReadHeader(reader io.Reader) error
- type C1File
- func (c *C1File) CheckpointSync(ctx context.Context, syncToken string) error
- func (c *C1File) Close() error
- func (c *C1File) CurrentSyncStep(ctx context.Context) (string, error)
- func (c *C1File) EndSync(ctx context.Context) error
- func (c *C1File) GetAsset(ctx context.Context, request *v2.AssetServiceGetAssetRequest) (string, io.Reader, error)
- func (c *C1File) GetEntitlement(ctx context.Context, ...) (*v2.Entitlement, error)
- func (c *C1File) GetGrant(ctx context.Context, request *reader_v2.GrantsReaderServiceGetGrantRequest) (*v2.Grant, error)
- func (c *C1File) GetResource(ctx context.Context, ...) (*v2.Resource, error)
- func (c *C1File) GetResourceType(ctx context.Context, ...) (*v2.ResourceType, error)
- func (c *C1File) LatestSyncID(ctx context.Context) (string, error)
- func (c *C1File) ListEntitlements(ctx context.Context, request *v2.EntitlementsServiceListEntitlementsRequest) (*v2.EntitlementsServiceListEntitlementsResponse, error)
- func (c *C1File) ListGrants(ctx context.Context, request *v2.GrantsServiceListGrantsRequest) (*v2.GrantsServiceListGrantsResponse, error)
- func (c *C1File) ListGrantsForEntitlement(ctx context.Context, ...) (*reader_v2.GrantsReaderServiceListGrantsForEntitlementResponse, error)
- func (c *C1File) ListGrantsForResourceType(ctx context.Context, ...) (*reader_v2.GrantsReaderServiceListGrantsForResourceTypeResponse, error)
- func (c *C1File) ListResourceTypes(ctx context.Context, request *v2.ResourceTypesServiceListResourceTypesRequest) (*v2.ResourceTypesServiceListResourceTypesResponse, error)
- func (c *C1File) ListResources(ctx context.Context, request *v2.ResourcesServiceListResourcesRequest) (*v2.ResourcesServiceListResourcesResponse, error)
- func (c *C1File) PreviousSyncID(ctx context.Context) (string, error)
- func (c *C1File) PutAsset(ctx context.Context, assetRef *v2.AssetRef, contentType string, data []byte) error
- func (c *C1File) PutEntitlement(ctx context.Context, entitlement *v2.Entitlement) error
- func (c *C1File) PutGrant(ctx context.Context, grant *v2.Grant) error
- func (c *C1File) PutResource(ctx context.Context, resource *v2.Resource) error
- func (c *C1File) PutResourceType(ctx context.Context, resourceType *v2.ResourceType) error
- func (c *C1File) StartSync(ctx context.Context) (string, bool, error)
- func (c *C1File) Stats(ctx context.Context) (map[string]int64, error)
- func (c *C1File) ViewSync(ctx context.Context, syncID string) error
- type DecoderOption
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidFile = fmt.Errorf("c1z: invalid file") ErrMaxSizeExceeded = errors.New("c1z: max decoded size exceeded, increase DecoderMaxDecodedSize") ErrWindowSizeExceeded = errors.New("c1z: window size exceeded, increase DecoderMaxMemory") )
var C1ZFileHeader = []byte("C1ZF\x00")
Functions ¶
func NewDecoder ¶
func NewDecoder(f io.Reader, opts ...DecoderOption) (*decoder, error)
NewDecoder wraps a given .c1z file io.Reader and returns an io.Reader for the underlying decoded/uncompressed file.
func ReadHeader ¶
ReadHeader reads len(C1ZFileHeader) bytes from the given io.Reader and compares them to C1ZFileHeader, returning an error if they don't match. If possible, ReadHeader will Seek() to the start of the stream before checking the header bytes. On return, the reader will be pointing to the first byte after the header.
Types ¶
type C1File ¶
type C1File struct {
// contains filtered or unexported fields
}
func NewC1ZFile ¶
Returns a new C1File instance with its state stored at the provided filename.
func (*C1File) CheckpointSync ¶
func (*C1File) Close ¶
Close ensures that the sqlite database is flushed to disk, and if any changes were made we update the original database with our changes.
func (*C1File) CurrentSyncStep ¶
func (*C1File) EndSync ¶
EndSync updates the current sync_run row with the end time, and removes any other objects that don't have the current sync ID.
func (*C1File) GetAsset ¶
func (c *C1File) GetAsset(ctx context.Context, request *v2.AssetServiceGetAssetRequest) (string, io.Reader, error)
GetAsset fetches the specified asset from the database, and returns the content type and an io.Reader for the caller to read the asset from.
func (*C1File) GetEntitlement ¶
func (c *C1File) GetEntitlement(ctx context.Context, request *reader_v2.EntitlementsReaderServiceGetEntitlementRequest) (*v2.Entitlement, error)
func (*C1File) GetResource ¶
func (*C1File) GetResourceType ¶
func (c *C1File) GetResourceType(ctx context.Context, request *reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest) (*v2.ResourceType, error)
func (*C1File) ListEntitlements ¶
func (c *C1File) ListEntitlements(ctx context.Context, request *v2.EntitlementsServiceListEntitlementsRequest) (*v2.EntitlementsServiceListEntitlementsResponse, error)
func (*C1File) ListGrants ¶
func (c *C1File) ListGrants(ctx context.Context, request *v2.GrantsServiceListGrantsRequest) (*v2.GrantsServiceListGrantsResponse, error)
func (*C1File) ListGrantsForEntitlement ¶
func (c *C1File) ListGrantsForEntitlement( ctx context.Context, request *reader_v2.GrantsReaderServiceListGrantsForEntitlementRequest, ) (*reader_v2.GrantsReaderServiceListGrantsForEntitlementResponse, error)
func (*C1File) ListGrantsForResourceType ¶ added in v0.0.6
func (c *C1File) ListGrantsForResourceType( ctx context.Context, request *reader_v2.GrantsReaderServiceListGrantsForResourceTypeRequest, ) (*reader_v2.GrantsReaderServiceListGrantsForResourceTypeResponse, error)
func (*C1File) ListResourceTypes ¶
func (c *C1File) ListResourceTypes(ctx context.Context, request *v2.ResourceTypesServiceListResourceTypesRequest) (*v2.ResourceTypesServiceListResourceTypesResponse, error)
func (*C1File) ListResources ¶
func (c *C1File) ListResources(ctx context.Context, request *v2.ResourcesServiceListResourcesRequest) (*v2.ResourcesServiceListResourcesResponse, error)
func (*C1File) PreviousSyncID ¶
func (*C1File) PutAsset ¶
func (c *C1File) PutAsset(ctx context.Context, assetRef *v2.AssetRef, contentType string, data []byte) error
PutAsset stores the given asset in the database.
func (*C1File) PutEntitlement ¶
func (*C1File) PutResource ¶
func (*C1File) PutResourceType ¶
func (*C1File) StartSync ¶
StartSync generates a sync ID to be associated with all objects discovered during this run.
type DecoderOption ¶
type DecoderOption func(*decoderOptions) error
DecoderOption is an option for creating a decoder.
func WithContext ¶
func WithContext(ctx context.Context) DecoderOption
WithContext sets a context, when cancelled, will cause subequent calls to Read() to return ctx.Error().
func WithDecoderMaxDecodedSize ¶
func WithDecoderMaxDecodedSize(n uint64) DecoderOption
WithDecoderMaxDecodedSize sets the maximum size of the decoded stream. This can be used to cap the resulting decoded stream size. Maximum is 1 << 63 bytes. Default is 2GiB.
func WithDecoderMaxMemory ¶
func WithDecoderMaxMemory(n uint64) DecoderOption
WithDecoderMaxMemory sets the maximum window size for streaming operations. This can be used to control memory usage of potentially hostile content. Maximum is 1 << 63 bytes. Default is 32MiB.