msg type stringer

This commit is contained in:
Matt Jaffee 2018-11-09 11:28:53 -06:00
parent deae8ce7c0
commit dd4685d43b
No known key found for this signature in database
GPG key ID: 08A3DFFF987B11BF
3 changed files with 27 additions and 7 deletions

View file

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//go:generate stringer -type=msgType
package pilosa
import (
@ -53,7 +55,7 @@ func (nopBroadcaster) SendTo(*Node, Message) error { return nil }
// Broadcast message types.
const (
messageTypeCreateShard = iota
messageTypeCreateShard msgType = iota
messageTypeCreateIndex
messageTypeDeleteIndex
messageTypeCreateField
@ -71,6 +73,8 @@ const (
messageTypeNodeStatus
)
type msgType byte
// MarshalInternalMessage serializes the pilosa message and adds pilosa internal
// type info which is used by the internal messaging stuff.
func MarshalInternalMessage(m Message, s Serializer) ([]byte, error) {
@ -79,11 +83,11 @@ func MarshalInternalMessage(m Message, s Serializer) ([]byte, error) {
if err != nil {
return nil, errors.Wrap(err, "marshaling")
}
return append([]byte{typ}, buf...), nil
return append([]byte{byte(typ)}, buf...), nil
}
func getMessage(typ byte) Message {
switch typ {
switch msgType(typ) {
case messageTypeCreateShard:
return &CreateShardMessage{}
case messageTypeCreateIndex:
@ -121,7 +125,7 @@ func getMessage(typ byte) Message {
}
}
func getMessageType(m Message) byte {
func getMessageType(m Message) msgType {
switch m.(type) {
case *CreateShardMessage:
return messageTypeCreateShard

16
msgtype_string.go Normal file
View file

@ -0,0 +1,16 @@
// Code generated by "stringer -type=msgType"; DO NOT EDIT.
package pilosa
import "strconv"
const _msgType_name = "messageTypeCreateShardmessageTypeCreateIndexmessageTypeDeleteIndexmessageTypeCreateFieldmessageTypeDeleteFieldmessageTypeCreateViewmessageTypeDeleteViewmessageTypeClusterStatusmessageTypeResizeInstructionmessageTypeResizeInstructionCompletemessageTypeSetCoordinatormessageTypeUpdateCoordinatormessageTypeNodeStatemessageTypeRecalculateCachesmessageTypeNodeEventmessageTypeNodeStatus"
var _msgType_index = [...]uint16{0, 22, 44, 66, 88, 110, 131, 152, 176, 204, 240, 265, 293, 313, 341, 361, 382}
func (i msgType) String() string {
if i >= msgType(len(_msgType_index)-1) {
return "msgType(" + strconv.FormatInt(int64(i), 10) + ")"
}
return _msgType_name[_msgType_index[i]:_msgType_index[i+1]]
}

View file

@ -580,7 +580,7 @@ func (s *Server) SendSync(m Message) error {
if err != nil {
return fmt.Errorf("marshaling message: %v", err)
}
msg = append([]byte{getMessageType(m)}, msg...)
msg = append([]byte{byte(getMessageType(m))}, msg...)
for _, node := range s.cluster.nodes {
node := node
s.logger.Printf("SendSync to: %s", node.URI)
@ -604,12 +604,12 @@ func (s *Server) SendAsync(m Message) error {
// SendTo represents an implementation of Broadcaster.
func (s *Server) SendTo(to *Node, m Message) error {
s.logger.Printf("SendTo: %s", to.URI)
s.logger.Printf("SendTo: %s, type: %s", to.URI, getMessageType(m))
msg, err := s.serializer.Marshal(m)
if err != nil {
return fmt.Errorf("marshaling message: %v", err)
}
msg = append([]byte{getMessageType(m)}, msg...)
msg = append([]byte{byte(getMessageType(m))}, msg...)
return s.defaultClient.SendMessage(context.Background(), &to.URI, msg)
}