service

package
v0.0.0-...-6e72d16 Latest Latest
Warning

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

Go to latest
Published: May 28, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileRepository

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

func NewFileRepository

func NewFileRepository(config *config.Config) *FileRepository

NewFileRepository method creates a new file repository

func (*FileRepository) Close

func (fr *FileRepository) Close(file *os.File)

Close - Close file

func (*FileRepository) FileSize

func (fr *FileRepository) FileSize(path string) (uint64, error)

FileSize - Return file size of the given file name

func (*FileRepository) FullFilePath

func (fr *FileRepository) FullFilePath(filename string) (string, error)

FullFilePath - Generate full relative file path for the given file

func (*FileRepository) List

func (fr *FileRepository) List(path string) (map[string]uint64, error)

List - List all file iteratively in the file storage folder

func (*FileRepository) Open

func (fr *FileRepository) Open(path string, flag int) (*os.File, error)

Open - Open file at given path with given flags

func (*FileRepository) Read

func (fr *FileRepository) Read(file *os.File) ([]byte, error)

Read - Read chunk from file

func (*FileRepository) Remove

func (fr *FileRepository) Remove(path string) error

Remove - Remove file at given path

func (*FileRepository) Sync

func (fr *FileRepository) Sync(file *os.File)

Sync - Sync current writes

func (*FileRepository) Write

func (fr *FileRepository) Write(file *os.File, data []byte) (int, error)

Write - Write chunk to file

type FileTransferRepository

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

func NewFileTransferRepository

func NewFileTransferRepository(client *client.GRPCClient) *FileTransferRepository

NewFileTransferRepository method creates a new file transfer repository

func (*FileTransferRepository) Delete

func (ftr *FileTransferRepository) Delete(ctx context.Context, fileName string) error

Delete - Delete file from server

func (*FileTransferRepository) Download

func (ftr *FileTransferRepository) Download(stream pb.FileTransfer_FetchClient) ([]byte, int, error)

Download - Download file chunk from server

func (*FileTransferRepository) DownloadStream

func (ftr *FileTransferRepository) DownloadStream(ctx context.Context, fileName string) (pb.FileTransfer_FetchClient, error)

DownloadStream - Get download stream to fetch file from server

func (*FileTransferRepository) ServerFileList

func (ftr *FileTransferRepository) ServerFileList(ctx context.Context) (map[string]uint64, error)

ServerFileList - Get list of files from server

func (*FileTransferRepository) Upload

func (ftr *FileTransferRepository) Upload(stream pb.FileTransfer_StoreClient, fileName string, fileChunk []byte) error

Upload - Upload file chunk to server

func (*FileTransferRepository) UploadClose

func (ftr *FileTransferRepository) UploadClose(stream pb.FileTransfer_StoreClient) error

UploadClose - Notify server upload completed

func (*FileTransferRepository) UploadStream

UploadStream - Get upload stream to store file to server

type FileTransferServer

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

func NewFileTransferServer

func NewFileTransferServer(config *config.Config, fileServiceBuilder fileservice.IFileServiceBuilder, fileTransferRepository IFileTransferRepository) *FileTransferServer

NewFileTransferServer method creates a new file transfer service

func (*FileTransferServer) DeleteFromServer

func (fts *FileTransferServer) DeleteFromServer(fileName string) error

DeleteFromServer - Delete given file from server

func (*FileTransferServer) Download

func (fts *FileTransferServer) Download(serverFileName string, localFileName string) error

Download - Download the content of given service file from server to the given local location

func (*FileTransferServer) ServerFileList

func (fts *FileTransferServer) ServerFileList() (map[string]uint64, error)

ServerFileList - Get list of files from server

func (*FileTransferServer) Upload

func (fts *FileTransferServer) Upload(fileName string) error

Upload - Upload the content of given file to server

type IFileTransferRepository

type IFileTransferRepository interface {
	//UploadStream - Get upload stream to store file to server
	UploadStream(ctx context.Context) (pb.FileTransfer_StoreClient, error)
	//Upload - Upload file chunk to to server
	Upload(stream pb.FileTransfer_StoreClient, fileName string, fileChunk []byte) error
	//UploadClose - Notify server upload completed
	UploadClose(stream pb.FileTransfer_StoreClient) error
	//DownloadStream - Get download stream to fetch file from server
	DownloadStream(ctx context.Context, fileName string) (pb.FileTransfer_FetchClient, error)
	//Download - Download file chunk from server
	Download(stream pb.FileTransfer_FetchClient) ([]byte, int, error)
	//ServerFileList - Get list of files from server
	ServerFileList(ctx context.Context) (map[string]uint64, error)
	//Delete - Delete file from server
	Delete(ctx context.Context, fileName string) error
}

type IFileTransferService

type IFileTransferService interface {
	//Upload - Upload the content of given file to server
	Upload(fileName string) error
	//Download - Download the content of given service file from server to the given local location
	Download(serverFileName string, localFileName string) error
	//ServerFileList - Get list of files from server
	ServerFileList() (map[string]uint64, error)
	//DeleteFromServer - Delete given file from server
	DeleteFromServer(fileName string) error
}

Jump to

Keyboard shortcuts

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