service

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2021 License: BSD-3-Clause Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileHandle

type FileHandle struct {
	ID          string
	SessionID   string
	Writer      io.Writer
	Reader      io.Reader
	IRODSHandle *irodsclient_fs.FileHandle
	Mutex       *sync.Mutex // mutex to access IRODSHandle
}

type PoolService

type PoolService struct {
	Config        *commons.Config
	APIServer     *Server
	GrpcServer    *grpc.Server
	StatHandler   *PoolServiceStatHandler
	TerminateChan chan bool
	Terminated    bool
	Mutex         sync.Mutex // for termination
}

PoolService is a service object

func NewPoolService

func NewPoolService(config *commons.Config) (*PoolService, error)

NewPoolService creates a new pool service

func (*PoolService) Destroy

func (svc *PoolService) Destroy()

Destroy destroys the service

func (*PoolService) Init

func (svc *PoolService) Init() error

Init initializes the service

func (*PoolService) Start

func (svc *PoolService) Start() error

Start starts the service

type PoolServiceStatHandler

type PoolServiceStatHandler struct {
	APIServer       *Server
	LiveConnections int
	Mutex           sync.Mutex
}

func (*PoolServiceStatHandler) HandleConn

func (handler *PoolServiceStatHandler) HandleConn(c context.Context, s stats.ConnStats)

HandleConn processes the Conn stats.

func (*PoolServiceStatHandler) HandleRPC

func (handler *PoolServiceStatHandler) HandleRPC(context.Context, stats.RPCStats)

HandleRPC processes the RPC stats.

func (*PoolServiceStatHandler) TagConn

func (*PoolServiceStatHandler) TagRPC

type Server

type Server struct {
	api.UnimplementedPoolAPIServer

	Config   *ServerConfig
	Mutex    sync.RWMutex // mutex to access Sessions
	Sessions map[string]*Session
	Buffer   io.Buffer
	Cache    io.Cache
}

func NewServer

func NewServer(config *ServerConfig) (*Server, error)

func (*Server) Close

func (server *Server) Close(context context.Context, request *api.CloseRequest) (*api.Empty, error)

func (*Server) Connections

func (server *Server) Connections() int

func (*Server) CreateFile

func (server *Server) CreateFile(context context.Context, request *api.CreateFileRequest) (*api.CreateFileResponse, error)

func (*Server) ExistsDir

func (server *Server) ExistsDir(context context.Context, request *api.ExistsDirRequest) (*api.ExistsDirResponse, error)

func (*Server) ExistsFile

func (server *Server) ExistsFile(context context.Context, request *api.ExistsFileRequest) (*api.ExistsFileResponse, error)

func (*Server) Flush

func (server *Server) Flush(context context.Context, request *api.FlushRequest) (*api.Empty, error)

func (*Server) GetOffset

func (server *Server) GetOffset(context context.Context, request *api.GetOffsetRequest) (*api.GetOffsetResponse, error)

func (*Server) List

func (server *Server) List(context context.Context, request *api.ListRequest) (*api.ListResponse, error)

func (*Server) ListDirACLsWithGroupUsers

func (server *Server) ListDirACLsWithGroupUsers(context context.Context, request *api.ListDirACLsWithGroupUsersRequest) (*api.ListDirACLsWithGroupUsersResponse, error)

func (*Server) ListFileACLsWithGroupUsers

func (server *Server) ListFileACLsWithGroupUsers(context context.Context, request *api.ListFileACLsWithGroupUsersRequest) (*api.ListFileACLsWithGroupUsersResponse, error)

func (*Server) Login

func (server *Server) Login(context context.Context, request *api.LoginRequest) (*api.LoginResponse, error)

func (*Server) Logout

func (server *Server) Logout(context context.Context, request *api.LogoutRequest) (*api.Empty, error)

func (*Server) LogoutAll

func (server *Server) LogoutAll()

func (*Server) MakeDir

func (server *Server) MakeDir(context context.Context, request *api.MakeDirRequest) (*api.Empty, error)

func (*Server) OpenFile

func (server *Server) OpenFile(context context.Context, request *api.OpenFileRequest) (*api.OpenFileResponse, error)

func (*Server) ReadAt

func (server *Server) ReadAt(context context.Context, request *api.ReadAtRequest) (*api.ReadAtResponse, error)

func (*Server) Release

func (server *Server) Release()

func (*Server) RemoveDir

func (server *Server) RemoveDir(context context.Context, request *api.RemoveDirRequest) (*api.Empty, error)

func (*Server) RemoveFile

func (server *Server) RemoveFile(context context.Context, request *api.RemoveFileRequest) (*api.Empty, error)

func (*Server) RenameDirToDir

func (server *Server) RenameDirToDir(context context.Context, request *api.RenameDirToDirRequest) (*api.Empty, error)

func (*Server) RenameFileToFile

func (server *Server) RenameFileToFile(context context.Context, request *api.RenameFileToFileRequest) (*api.Empty, error)

func (*Server) Stat

func (server *Server) Stat(context context.Context, request *api.StatRequest) (*api.StatResponse, error)

func (*Server) TruncateFile

func (server *Server) TruncateFile(context context.Context, request *api.TruncateFileRequest) (*api.Empty, error)

func (*Server) WriteAt

func (server *Server) WriteAt(context context.Context, request *api.WriteAtRequest) (*api.Empty, error)

type ServerConfig

type ServerConfig struct {
	BufferSizeMax int64
	CacheSizeMax  int64
	CacheRootPath string
}

type Session

type Session struct {
	ID               string
	Account          *irodsclient_types.IRODSAccount
	IRODSFS          *irodsclient_fs.FileSystem
	ReferenceCount   int
	LastActivityTime time.Time
	FileHandles      map[string]*FileHandle
	Mutex            sync.Mutex // mutex to access FileHandles, ReferenceCount and LastActivityTime
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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