read more

This commit is contained in:
mikespook 2012-12-27 11:36:11 +08:00
parent fee531f9c1
commit cd1bd72a80

View File

@ -108,9 +108,13 @@ func (a *agent) Work() {
// Internal read // Internal read
func (a *agent) read() (data []byte, err error) { func (a *agent) read() (data []byte, err error) {
if len(a.in) > 0 { BEGIN:
inlen := len(a.in)
if inlen > 0 {
// in queue is not empty // in queue is not empty
data = <-a.in for i := 0; i < inlen; i ++ {
data = append(data, <-a.in...)
}
} else { } else {
for { for {
buf := make([]byte, common.BUFFER_SIZE) buf := make([]byte, common.BUFFER_SIZE)
@ -145,8 +149,8 @@ func (a *agent) read() (data []byte, err error) {
a.in <- data[total:] a.in <- data[total:]
data = data[:total] data = data[:total]
return return
} else { // ops! } else { // ops! It won't be possible.
break goto BEGIN
} }
} else { } else {
start++ start++