ioutils

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrorParamsEmpty errors.CodeError = iota + errors.MIN_PKG_IOUtils
	ErrorSyscallRLimitGet
	ErrorSyscallRLimitSet
	ErrorIOFileStat
	ErrorIOFileSeek
	ErrorIOFileOpen
	ErrorIOFileTempNew
	ErrorIOFileTempClose
	ErrorIOFileTempRemove
	ErrorNilPointer
)

Variables

This section is empty.

Functions

func DelTempFile

func DelTempFile(f *os.File) Error

func GetTempFilePath

func GetTempFilePath(f *os.File) string

func IsCodeError

func IsCodeError() bool

func NewTempFile

func NewTempFile() (*os.File, Error)

func SystemFileDescriptor

func SystemFileDescriptor(newValue int) (current int, max int, err Error)

*

  • SystemFileDescriptor is returning current Limit & max system limit for file descriptor (open file or I/O resource) currently set in the system
  • This function return the current setting (current number of file descriptor and the max value) if the newValue given is zero
  • Otherwise if the newValue is more than the current system limit, try to change the current limit in the system for this process only *
  • For Windows build, please follow this note :
  • 1) install package gcc-multilib gcc-mingw-w64 to build C source with GCC
  • you will having this binaries
  • - i686-w64-mingw32* for 32-bit Windows;
  • - x86_64-w64-mingw32* for 64-bit Windows.
  • locate you binaries gcc mingw path and note it:
  • - win32 : updatedb && locate i686-w64-mingw32-gcc
  • - win64 : updatedb && locate x86_64-w64-mingw32-gcc
  • 2) if you have an error in the build, or if the .o object file is not present in golib/njg-ioutils/maxstdio/, run this step
  • - go to golib/njg-ioutils/maxstdio folder
  • - gcc -c maxstdio.c
  • 3) for Win32 use this env var in prefix of your go build command (recommend to use -a flag) :
  • CC=/usr/bin/i686-w64-mingw32-gcc CGO_ENABLED=1 GOOS=windows GOARCH=amd64 go build -a -v ...
  • 4) for win64 use this env var in prefix of your go build command (recommend to use -a flag) :
  • CC=/usr/bin/x86_64-w64-mingw32-gcc CGO_ENABLED=1 GOOS=windows GOARCH=amd64 go build -a -v ... *
  • Normally no problem will be result in the build.

Types

type FileProgress added in v1.3.0

type FileProgress interface {
	io.ReadCloser
	io.ReadSeeker
	io.ReadWriteCloser
	io.ReadWriteSeeker
	io.WriteCloser
	io.WriteSeeker
	io.Reader
	io.ReaderFrom
	io.ReaderAt
	io.Writer
	io.WriterAt
	io.WriterTo
	io.Seeker
	io.StringWriter
	io.Closer

	GetByteReader() io.ByteReader
	GetByteWriter() io.ByteWriter

	SetContext(ctx context.Context)
	SetIncrement(increment func(size int64))
	SetFinish(finish func())
	SetReset(reset func(size, current int64))
	ResetMax(max int64)

	FilePath() string
	FileStat() (os.FileInfo, errors.Error)

	SizeToEOF() (size int64, err errors.Error)

	NewFilePathMode(filepath string, mode int, perm os.FileMode) (FileProgress, errors.Error)
	NewFilePathWrite(filepath string, create, overwrite bool, perm os.FileMode) (FileProgress, errors.Error)
	NewFilePathRead(filepath string, perm os.FileMode) (FileProgress, errors.Error)
	NewFileTemp() (FileProgress, errors.Error)
}

func NewFileProgress added in v1.3.0

func NewFileProgress(file *os.File) FileProgress

func NewFileProgressPathMode added in v1.3.0

func NewFileProgressPathMode(filepath string, mode int, perm os.FileMode) (FileProgress, errors.Error)

func NewFileProgressPathOpen added in v1.3.0

func NewFileProgressPathOpen(filepath string) (FileProgress, errors.Error)

func NewFileProgressPathRead added in v1.3.0

func NewFileProgressPathRead(filepath string, perm os.FileMode) (FileProgress, errors.Error)

func NewFileProgressPathWrite added in v1.3.0

func NewFileProgressPathWrite(filepath string, create, overwrite bool, perm os.FileMode) (FileProgress, errors.Error)

func NewFileProgressTemp added in v1.3.0

func NewFileProgressTemp() (FileProgress, errors.Error)

type IOWrapper

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

func NewIOWrapper

func NewIOWrapper(ioInput interface{}) *IOWrapper

func (IOWrapper) Close

func (w IOWrapper) Close() error

func (IOWrapper) Read

func (w IOWrapper) Read(p []byte) (n int, err error)

func (IOWrapper) Seek

func (w IOWrapper) Seek(offset int64, whence int) (int64, error)

func (*IOWrapper) SetWrapper

func (w *IOWrapper) SetWrapper(read func(p []byte) []byte, write func(p []byte) []byte)

func (IOWrapper) Write

func (w IOWrapper) Write(p []byte) (n int, err error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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