services

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2023 License: Apache-2.0 Imports: 8 Imported by: 10

Documentation

Index

Constants

View Source
const (
	MaxChunkSize = 32 * 1024 * 1024 // 32MB; this is theoretically the maximum size a single NBD packet can be, but realistically this will always be <32kB (which is what Go's internal `io.Copy` uses as it's buffer size)
)

Variables

View Source
var (
	ErrMaxChunkSizeExceeded = errors.New("max chunk size exceeded")
)

Functions

This section is empty.

Types

type BackendRemote

type BackendRemote struct {
	ReadAt  func(context context.Context, length int, off int64) (r ReadAtResponse, err error)
	WriteAt func(context context.Context, p []byte, off int64) (n int, err error)
	Sync    func(context context.Context) error
}

func NewBackendRemoteFrpc

func NewBackendRemoteFrpc(client *v1.Client) *BackendRemote

func NewBackendRemoteGrpc

func NewBackendRemoteGrpc(client v1.BackendClient) *BackendRemote

type BackendRemoteFrpc

type BackendRemoteFrpc struct {
	// contains filtered or unexported fields
}

func (*BackendRemoteFrpc) ReadAt

func (l *BackendRemoteFrpc) ReadAt(ctx context.Context, length int, off int64) (r ReadAtResponse, err error)

func (*BackendRemoteFrpc) Sync

func (l *BackendRemoteFrpc) Sync(ctx context.Context) error

func (*BackendRemoteFrpc) WriteAt

func (l *BackendRemoteFrpc) WriteAt(ctx context.Context, p []byte, off int64) (n int, err error)

type BackendRemoteGrpc

type BackendRemoteGrpc struct {
	// contains filtered or unexported fields
}

func (*BackendRemoteGrpc) ReadAt

func (l *BackendRemoteGrpc) ReadAt(ctx context.Context, length int, off int64) (r ReadAtResponse, err error)

func (*BackendRemoteGrpc) Sync

func (l *BackendRemoteGrpc) Sync(ctx context.Context) error

func (*BackendRemoteGrpc) WriteAt

func (l *BackendRemoteGrpc) WriteAt(ctx context.Context, p []byte, off int64) (n int, err error)

type BackendService

type BackendService struct {
	// contains filtered or unexported fields
}

func NewBackend

func NewBackend(b backend.Backend, verbose bool, maxChunkSize int64) *BackendService

func (*BackendService) ReadAt

func (b *BackendService) ReadAt(context context.Context, length int, off int64) (r ReadAtResponse, err error)

func (*BackendService) Size

func (b *BackendService) Size(context context.Context) (int64, error)

func (*BackendService) Sync

func (b *BackendService) Sync(context context.Context) error

func (*BackendService) WriteAt

func (b *BackendService) WriteAt(context context.Context, p []byte, off int64) (n int, err error)

type BackendServiceFrpc

type BackendServiceFrpc struct {
	// contains filtered or unexported fields
}

func NewBackendServiceFrpc

func NewBackendServiceFrpc(svc *BackendService) *BackendServiceFrpc

type BackendServiceGrpc

type BackendServiceGrpc struct {
	v1.UnimplementedBackendServer
	// contains filtered or unexported fields
}

func NewBackendServiceGrpc

func NewBackendServiceGrpc(svc *BackendService) *BackendServiceGrpc

func (*BackendServiceGrpc) ReadAt

func (s *BackendServiceGrpc) ReadAt(ctx context.Context, args *v1.ReadAtArgs) (*v1.ReadAtReply, error)

func (*BackendServiceGrpc) Sync

func (s *BackendServiceGrpc) Sync(ctx context.Context, args *v1.SyncArgs) (*v1.SyncReply, error)

func (*BackendServiceGrpc) WriteAt

func (s *BackendServiceGrpc) WriteAt(ctx context.Context, args *v1.WriteAtArgs) (*v1.WriteAtReply, error)

type ReadAtResponse

type ReadAtResponse struct {
	N int
	P []byte
}

type SeederRemote

type SeederRemote struct {
	ReadAt func(context context.Context, length int, off int64) (r ReadAtResponse, err error)
	Track  func(context context.Context) error
	Sync   func(context context.Context) ([]int64, error)
	Close  func(context context.Context) error
}

func NewSeederRemoteFrpc

func NewSeederRemoteFrpc(client *v1.Client) *SeederRemote

func NewSeederRemoteGrpc

func NewSeederRemoteGrpc(client v1.SeederClient) *SeederRemote

type SeederRemoteFrpc

type SeederRemoteFrpc struct {
	// contains filtered or unexported fields
}

func (*SeederRemoteFrpc) Close

func (l *SeederRemoteFrpc) Close(ctx context.Context) error

func (*SeederRemoteFrpc) ReadAt

func (l *SeederRemoteFrpc) ReadAt(ctx context.Context, length int, off int64) (r ReadAtResponse, err error)

func (*SeederRemoteFrpc) Sync

func (l *SeederRemoteFrpc) Sync(ctx context.Context) ([]int64, error)

func (*SeederRemoteFrpc) Track

func (l *SeederRemoteFrpc) Track(ctx context.Context) error

type SeederRemoteGrpc

type SeederRemoteGrpc struct {
	// contains filtered or unexported fields
}

func (*SeederRemoteGrpc) Close

func (l *SeederRemoteGrpc) Close(ctx context.Context) error

func (*SeederRemoteGrpc) ReadAt

func (l *SeederRemoteGrpc) ReadAt(ctx context.Context, length int, off int64) (r ReadAtResponse, err error)

func (*SeederRemoteGrpc) Sync

func (l *SeederRemoteGrpc) Sync(ctx context.Context) ([]int64, error)

func (*SeederRemoteGrpc) Track

func (l *SeederRemoteGrpc) Track(ctx context.Context) error

type SeederService

type SeederService struct {
	// contains filtered or unexported fields
}

func NewSeederService

func NewSeederService(
	b backend.Backend,
	verbose bool,
	track func() error,
	sync func() ([]int64, error),
	close func() error,
	maxChunkSize int64,
) *SeederService

func (*SeederService) Close

func (b *SeederService) Close(context context.Context) error

func (*SeederService) ReadAt

func (b *SeederService) ReadAt(context context.Context, length int, off int64) (r ReadAtResponse, err error)

func (*SeederService) Sync

func (b *SeederService) Sync(context context.Context) ([]int64, error)

func (*SeederService) Track

func (b *SeederService) Track(context context.Context) error

type SeederServiceGrpc

type SeederServiceGrpc struct {
	v1.UnimplementedSeederServer
	// contains filtered or unexported fields
}

func NewSeederServiceGrpc

func NewSeederServiceGrpc(svc *SeederService) *SeederServiceGrpc

func (*SeederServiceGrpc) Close

func (s *SeederServiceGrpc) Close(ctx context.Context, args *v1.CloseArgs) (*v1.CloseReply, error)

func (*SeederServiceGrpc) ReadAt

func (s *SeederServiceGrpc) ReadAt(ctx context.Context, args *v1.ReadAtArgs) (*v1.ReadAtReply, error)

func (*SeederServiceGrpc) Sync

func (s *SeederServiceGrpc) Sync(ctx context.Context, args *v1.SyncArgs) (*v1.SyncReply, error)

func (*SeederServiceGrpc) Track

func (s *SeederServiceGrpc) Track(ctx context.Context, args *v1.TrackArgs) (*v1.TrackReply, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL