Categorygithub.com/prohtmeyhet/libgosimpleton
modulepackage
0.0.0-20180824195545-62440578e81f
Repository: https://github.com/prohtmeyhet/libgosimpleton.git
Documentation: pkg.go.dev

# README

libgosimpleton

libgosimpleton is a library for functionality i commonly use.

old description: a minimalistic library for simpletons like me that don't wanna reserve memory in their minds for stuff like:

copy(a[i:], a[j:])
for k, n := len(a)-j+i, len(a); k < n; k ++ {
       a[k] = s.empty
}
a = a[:len(a)-j+i]

PARALLEL

Do some work in parallel:

work, count := parallel.NewWorkManual(16), 0
work.Do(func() {
	work.Lock()
	count++
	work.Unlock()
})

println(count) // prints 16

Open a file, read in one thread do your function in another thread:

work := OpenFileDoWork(helper, path, func(buffered *NamedBuffer) {
	into := make([]byte, 512)
	for {
		println("reading " + buffered.Name())
		read, e := buffered.Read(into); if e != nil { /* handle errors and EOF */ }
 		/* do work */
	}
})

work.Wait()

hash files, print to Stdout

OpenFilesFromListDoWork(helper, func(buffered *iotool.NamedBuffer) {
	hasher := sha256.New()
	io.Copy(hasher, buffered)
	println(hex.EncodeToString(hasher.Sum(nil)))	
}, path1, path2, paths...).Wait()

IOTOOL

Functions for io. Open files with a helper capable of doing file advice. This also makes opening files clearer compared to os.Open in the standard library.

helper := iotool.ReadOnly().FileAdviceReadSequential()
handler, e := iotool.Open(helper, "filename")

SLICES

run MAKE_SLICES.sh to make slices.

CREDENTIALS

credentials library (and credentialstool) for editing user and password infrastructure. currently unix (/etc/shadow) and sql is implemented (not fully in credentialstool).

LICENCE

see LICENCE

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author

# Constants

no incompatible changes, just bug fixes.
No description provided by the author
should one be using this.
only changes with major changes.
new features, maybe incompatible changes.
global setting for FADVICE_DONTNEED before reading.
munchies.