コード例 #1
0
ファイル: network.go プロジェクト: universsky/gauge
func WriteGaugeMessage(message *gauge_messages.Message, conn net.Conn) error {
	messageId := common.GetUniqueID()
	message.MessageId = &messageId

	data, err := proto.Marshal(message)
	if err != nil {
		return err
	}
	return Write(conn, data)
}
コード例 #2
0
ファイル: plugin.go プロジェクト: mattdotmatt/gauge
func (p *plugin) sendMessage(message *gauge_messages.Message) error {
	messageID := common.GetUniqueID()
	message.MessageId = &messageID
	messageBytes, err := proto.Marshal(message)
	if err != nil {
		return err
	}
	err = conn.Write(p.connection, messageBytes)
	if err != nil {
		return fmt.Errorf("[Warning] Failed to send message to plugin: %s  %s", p.descriptor.ID, err.Error())
	}
	return nil
}
コード例 #3
0
ファイル: plugin.go プロジェクト: Jayasagar/gauge
func (plugin *plugin) sendMessage(message *gauge_messages.Message) error {
	messageId := common.GetUniqueId()
	message.MessageId = &messageId
	messageBytes, err := proto.Marshal(message)
	if err != nil {
		return err
	}
	err = conn.Write(plugin.connection, messageBytes)
	if err != nil {
		return errors.New(fmt.Sprintf("[Warning] Failed to send message to plugin: %d  %s", plugin.descriptor.Id, err.Error()))
	}
	return nil
}
コード例 #4
0
ファイル: network.go プロジェクト: universsky/gauge
func GetResponseForGaugeMessage(message *gauge_messages.Message, conn net.Conn) (*gauge_messages.Message, error) {
	messageId := common.GetUniqueID()
	message.MessageId = &messageId

	data, err := proto.Marshal(message)
	if err != nil {
		return nil, err
	}
	responseBytes, err := WriteDataAndGetResponse(conn, data)
	if err != nil {
		return nil, err
	}
	responseMessage := &gauge_messages.Message{}
	if err := proto.Unmarshal(responseBytes, responseMessage); err != nil {
		return nil, err
	}

	if err := checkUnsupportedResponseMessage(responseMessage); err != nil {
		return responseMessage, err
	}
	return responseMessage, err
}
コード例 #5
0
ファイル: network.go プロジェクト: universsky/gauge
func checkUnsupportedResponseMessage(message *gauge_messages.Message) error {
	if message.GetMessageType() == gauge_messages.Message_UnsupportedMessageResponse {
		return fmt.Errorf("Unsupported Message response received. Message not supported. %s", message.GetUnsupportedMessageResponse().GetMessage())
	}
	return nil
}