コード例 #1
0
ファイル: command.go プロジェクト: bradylove/mescal
func (c *Command) decodeSetCommand(msg protocol.Command) error {
	subCmd, err := msg.SubCommand().Set()
	if err != nil {
		return err
	}

	key, err := subCmd.Key()
	if err != nil {
		return err
	}

	value, err := subCmd.Value()
	if err != nil {
		return err
	}

	expiry := subCmd.Expiry()
	if err != nil {
		return err
	}

	c.SubCommand = NewSetCommand(key, value, expiry)
	c.Action = c.SubCommand.getAction()
	return nil
}
コード例 #2
0
ファイル: handshake_command.go プロジェクト: bradylove/mescal
func (c HandshakeCommand) encode(root *protocol.Command, s *capnp.Segment) error {
	cmd, err := protocol.NewCommand_HandshakeCommand(s)
	if err != nil {
		return err
	}
	cmd.SetUserAgent(c.UserAgent)

	root.SubCommand().SetHandshake(cmd)
	return nil
}
コード例 #3
0
ファイル: get_command.go プロジェクト: bradylove/mescal
func (c GetCommand) encode(root *protocol.Command, s *capnp.Segment) error {
	cmd, err := protocol.NewCommand_GetCommand(s)
	if err != nil {
		return err
	}
	cmd.SetKey(c.Key)

	root.SubCommand().SetGet(cmd)
	return nil
}
コード例 #4
0
ファイル: set_command.go プロジェクト: bradylove/mescal
func (c SetCommand) encode(root *protocol.Command, s *capnp.Segment) error {
	cmd, err := protocol.NewCommand_SetCommand(s)
	if err != nil {
		return err
	}
	cmd.SetKey(c.Key)
	cmd.SetValue(c.Value)
	cmd.SetExpiry(c.Expiry)

	root.SubCommand().SetSet(cmd)
	return nil
}
コード例 #5
0
ファイル: command.go プロジェクト: bradylove/mescal
func (c *Command) decodeHandshakeCommand(msg protocol.Command) error {
	subCmd, err := msg.SubCommand().Handshake()
	if err != nil {
		return err
	}

	userAgent, err := subCmd.UserAgent()
	if err != nil {
		return err
	}

	c.SubCommand = NewHandshakeCommand(userAgent)
	c.Action = c.SubCommand.getAction()
	return nil
}
コード例 #6
0
ファイル: command.go プロジェクト: bradylove/mescal
func (c *Command) decodeGetCommand(msg protocol.Command) error {
	getCmd, err := msg.SubCommand().Get()
	if err != nil {
		return err
	}

	key, err := getCmd.Key()
	if err != nil {
		return err
	}

	c.SubCommand = NewGetCommand(key)
	c.Action = c.SubCommand.getAction()
	return nil
}