Documentation
¶
Index ¶
Constants ¶
View Source
const ( Version = "v2" InitKodoMountCmdName = "init_kodo_mount" InitKodoFsMountCmdName = "init_kodofs_mount" KodoUmountCmdName = "umount_kodo" RequestDataCmdName = "request_data" ResponseDataCmdName = "response_data" TerminateCmdName = "terminate" )
View Source
const ( // KodoFS executable name KodoFSCmd = "kodofs" // Rclone executable name RcloneCmd = "rclone" ContextKeyConfigFilePath contextKey = "config_file_path" ContextKeyUserAgent contextKey = "user_agent" ContextKeyLogFilePath contextKey = "log_file_path" ContextKeyCacheDirPath contextKey = "cache_dir_path" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExecutableCmd ¶
ExecutableCmd is the interface that wraps the ExecCommand method.
type InitKodoFSMountCmd ¶
type InitKodoFSMountCmd struct {
VolumeId string `json:"volume_id"`
GatewayID string `json:"gateway_id"`
MountPath string `json:"mount_path"`
SubDir string `json:"sub_dir"`
RunOnSystemd bool `json:"run_on_systemd"`
}
func (*InitKodoFSMountCmd) Command ¶
func (*InitKodoFSMountCmd) Command()
func (*InitKodoFSMountCmd) ExecCommand ¶
func (c *InitKodoFSMountCmd) ExecCommand(ctx context.Context) *exec.Cmd
type InitKodoMountCmd ¶
type InitKodoMountCmd struct {
VolumeId string `json:"volume_id"`
MountPath string `json:"mount_path"`
SubDir string `json:"sub_dir"`
AccessKey string `json:"access_key"`
SecretKey string `json:"secret_key"`
BucketId string `json:"bucket_id"`
S3Region string `json:"s3_region"`
S3Endpoint string `json:"s3_endpoint"`
S3ForcePathStyle bool `json:"s3_force_path_style"`
StorageClass string `json:"storage_class"`
VfsCacheMode string `json:"vfs_cache_mode,omitempty"`
DirCacheDuration string `json:"dir_cache_duration,omitempty"`
BufferSize *uint64 `json:"buffer_size,omitempty"`
VfsCacheMaxAge string `json:"vfs_cache_max_age,omitempty"`
VfsCachePollInterval string `json:"vfs_cache_poll_interval,omitempty"`
VfsWriteBack string `json:"vfs_write_back,omitempty"`
VfsCacheMaxSize *uint64 `json:"vfs_cache_max_size,omitempty"`
VfsReadAhead *uint64 `json:"vfs_read_ahead,omitempty"`
VfsFastFingerPrint bool `json:"vfs_fast_finger_print,omitempty"`
VfsReadChunkSize *uint64 `json:"vfs_read_chunk_size,omitempty"`
VfsReadChunkSizeLimit *uint64 `json:"vfs_read_chunk_size_limit,omitempty"`
NoCheckSum bool `json:"no_cache_sum,omitempty"`
NoModTime bool `json:"no_mod_time,omitempty"`
NoSeek bool `json:"no_seek,omitempty"`
ReadOnly bool `json:"read_only,omitempty"`
VfsReadWait string `json:"vfs_read_wait,omitempty"`
VfsWriteWait string `json:"vfs_write_wait,omitempty"`
Transfers *uint64 `json:"transfers,omitempty"`
VfsDiskSpaceTotalSize *uint64 `json:"vfs_disk_space_total_size,omitempty"`
UploadCutoff *uint64 `json:"upload_cutoff,omitempty"`
UploadChunkSize *uint64 `json:"upload_chunk_size,omitempty"`
UploadConcurrency *uint64 `json:"upload_concurrency,omitempty"`
WriteBackCache bool `json:"write_back_cache,omitempty"`
DebugHttp bool `json:"debug_http,omitempty"`
DebugFuse bool `json:"debug_fuse,omitempty"`
}
func (*InitKodoMountCmd) Command ¶
func (*InitKodoMountCmd) Command()
func (*InitKodoMountCmd) ExecCommand ¶
func (c *InitKodoMountCmd) ExecCommand(ctx context.Context) *exec.Cmd
ExecCommand 实际上Kodo的挂载是基于rclone的,这里的ExecCommand是将配置转换为rclone的命令行参数并执行
type KodoUmountCmd ¶
type KodoUmountCmd struct {
VolumeId string `json:"volume_id"`
MountPath string `json:"mount_path"`
}
func (*KodoUmountCmd) Command ¶
func (*KodoUmountCmd) Command()
type Request ¶
type Request struct {
Version string `json:"version"`
Cmd string `json:"cmd"`
Payload json.RawMessage `json:"payload"`
}
type RequestDataCmd ¶
type RequestDataCmd struct {
Data string `json:"data"`
}
func (*RequestDataCmd) Command ¶
func (*RequestDataCmd) Command()
type ResponseDataCmd ¶
func (*ResponseDataCmd) Command ¶
func (*ResponseDataCmd) Command()
type TerminateCmd ¶
type TerminateCmd struct {
Code int `json:"code"`
}
func (*TerminateCmd) Command ¶
func (*TerminateCmd) Command()
Click to show internal directories.
Click to hide internal directories.