Compare commits
No commits in common. "f49c9770528e73b67fb3a0727c72afea19716889" and "69f3d4973bcbe41092b49a318fc999955e26c325" have entirely different histories.
f49c977052
...
69f3d4973b
@ -221,7 +221,7 @@ func (this *Protocol) unmarshalMessage(out io.Writer, message Message) error {
|
|||||||
fmt.Fprintf(out, "\t}\n")
|
fmt.Fprintf(out, "\t}\n")
|
||||||
if requiredTotal > 0 {
|
if requiredTotal > 0 {
|
||||||
fmt.Fprintf(out,
|
fmt.Fprintf(out,
|
||||||
"\tif foundRequired != %d { return hopp.ErrTablePairMissing }\n",
|
"\tif foundRequired != %d { return hopp.ErrPairMissing }\n",
|
||||||
requiredTotal)
|
requiredTotal)
|
||||||
}
|
}
|
||||||
fmt.Fprintf(out, "\treturn nil\n")
|
fmt.Fprintf(out, "\treturn nil\n")
|
||||||
|
12
message.go
12
message.go
@ -50,3 +50,15 @@ func (this *MessageData) UnmarshalBinary(buffer []byte) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Protocol maps methods to functions that create messages. The messages must be
|
||||||
|
// passed by reference, and the functions must return a new object every time.
|
||||||
|
type Protocol map[uint16] func() Message
|
||||||
|
|
||||||
|
// Add adds messages to the protocol. Messages with conflicting methods will
|
||||||
|
// be replaced.
|
||||||
|
func (this Protocol) Add(messages ...func() Message) {
|
||||||
|
for _, message := range messages {
|
||||||
|
this[message().Method()] = message
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user