1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/pkg
Andrew Gerrand 31cbf76d0c Use a slice instead of a map of io.WriteClosers in broadcastwriter
Maps rely on the keys being comparable.
Using an interface type as the map key is dangerous,
because some interface types are not comparable.
I talked about this in my "Stupid Gopher Tricks" talk:
	https://talks.golang.org/2015/tricks.slide

In this case, if the user-provided writer is backed by a slice
(such as io.MultiWriter) then the code will panic at run time.

Signed-off-by: Andrew Gerrand <adg@golang.org>
2015-08-21 14:08:04 +01:00
..
ansiescape Use notary library for trusted image fetch and signing 2015-07-24 14:08:20 -07:00
archive Fix typo, "fil" -> "fill" 2015-08-19 21:50:54 -03:00
broadcastwriter Use a slice instead of a map of io.WriteClosers in broadcastwriter 2015-08-21 14:08:04 +01:00
chrootarchive Fixing Tar functions to support Windows long paths. 2015-08-11 16:07:36 -07:00
devicemapper devicemapper: fix zero-sized field access 2015-08-10 11:11:58 -04:00
directory make docker compile on freebsd 2015-07-29 21:25:56 +03:00
fileutils Add missing tests and docs for pkg/fileutils 2015-07-12 22:43:42 +02:00
graphdb typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
homedir Update libcontainer 2015-07-16 16:02:26 -07:00
httputils Enable golint part of #14756 2015-08-03 09:45:05 +08:00
ioutils typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
jsonlog Enable golint in pkg/jsonlog and pkg/jsonmessage. 2015-08-08 11:28:22 +08:00
jsonmessage Enable golint in pkg/jsonlog and pkg/jsonmessage. 2015-08-08 11:28:22 +08:00
listenbuffer linting changes 2015-06-17 01:16:57 +03:00
mflag typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
mount pkg: mount: golint 2015-07-22 10:26:10 +02:00
namesgenerator typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
nat Adding support to publish on custom host port ranges 2015-08-15 02:41:29 +00:00
parsers make docker compile on freebsd 2015-07-29 21:25:56 +03:00
pidfile Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
plugins Don't globally lock on driver initialization 2015-08-18 22:25:30 -07:00
pools Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
progressreader Fix uses of "int" where "int64" should be used instead 2015-07-31 16:31:40 -07:00
promise
proxy Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
pubsub Don't use time.After if there is no timeout 2015-07-14 09:14:51 -07:00
random Prefer crypto rand seed for pkg/rand 2015-07-29 12:55:57 -04:00
reexec make docker compile on freebsd 2015-07-29 21:25:56 +03:00
signal Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
sockets make docker compile on freebsd 2015-07-29 21:25:56 +03:00
stdcopy typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
streamformatter Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
stringid Add GenerateNonCryptoID function to avoid entropy exhaustion 2015-07-28 22:31:01 -07:00
stringutils Use global random *rand.Rand instance in pkg 2015-07-29 09:30:48 -07:00
symlink Windows - make docker cp functional 2015-08-06 11:22:38 -07:00
sysinfo Merge pull request #15380 from calavera/remove_sys_info_pointers 2015-08-17 18:40:54 -07:00
system make docker compile on freebsd 2015-07-29 21:25:56 +03:00
tailfile typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
tarsum Fix uses of "int" where "int64" should be used instead 2015-07-31 16:31:40 -07:00
term typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
timeoutconn Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
timeutils Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
tlsconfig tlsconfig: better format for error message in tlsconfig 2015-07-30 14:15:41 -04:00
truncindex Remove read index that causes dead lock. 2015-07-31 13:53:17 -07:00
ulimit Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
units Multiple fixes to 'docker stats' output: 2015-07-30 10:14:57 +03:00
urlutil Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
useragent Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
version
README.md

pkg/ is a collection of utility packages used by the Docker project without being specific to its internals.

Utility packages are kept separate from the docker core codebase to keep it as small and concise as possible. If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the Docker organization, to facilitate re-use by other projects. However that is not the priority.

The directory pkg is named after the same directory in the camlistore project. Since Brad is a core Go maintainer, we thought it made sense to copy his methods for organizing Go code :) Thanks Brad!

Because utility packages are small and neatly separated from the rest of the codebase, they are a good place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!