mig/modules/pkg
Aaron Meihm 7ca2887a98 [medium/bug] resolve bufio issues under high agent/module comms
When a message between a module and the agent is read by either,
ReadInput is used which uses buffered IO to read a single line. A bug
existed here where a new bufio Reader was being allocated each time.

Under normal circumstances there would be no issue, since a single line
is generally sent to the module from the agent and read. However, in a
case where a large number of messages were being exchanged between the
agent and the module (e.g., persistent modules) it was possible the
bufio reader could have buffered more than one line. Since a new buffer
was being allocated each time, this resulted in loss of partial message
data, and usually ended up generating JSON unmarshaling errors since
part of the JSON structure was missing.

This was resolved by introducing a new ModuleReader and ModuleWriter
type that is used to read/write between the agent and modules.
ModuleReader allocates the buffered reader on creation once, so we only
ever have the single buffered reader for the lifetime of the module
execution.
2016-12-16 09:55:21 -06:00
..
doc.rst [minor] support filtering by version in pkg module 2016-05-22 14:07:00 -05:00
paramscreator.go [minor] handle pkg version invert using !, remove additional flag 2016-05-24 14:03:55 -05:00
pkg.go [medium/bug] resolve bufio issues under high agent/module comms 2016-12-16 09:55:21 -06:00
pkg_test.go [doc] add newline after license header to ignore it in godoc 2015-08-27 10:41:13 -04:00