| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- // Author: simon (ynwdlxm@163.com)
- // Date: 2025/5/26 13:51
- // Desc:
- package reply
- // PongReply 表示PONG响应,用于Redis协议的PONG响应
- type PongReply struct{}
- func (p PongReply) Error() string {
- return ""
- }
- func (p PongReply) String() string {
- return "+PONG\r\n"
- }
- // ToBytes 将PONG响应转换为字节数组
- // 返回格式:"+PONG\r\n"
- func (p PongReply) ToBytes() []byte {
- return []byte("+PONG\r\n")
- }
- // NewPongReply 创建新的PongReply实例
- func NewPongReply() *PongReply {
- return &PongReply{}
- }
- // OkReply 表示OK响应,用于Redis协议的OK响应
- // 返回格式:"+OK\r\n"
- type OkReply struct{}
- func (o OkReply) Error() string {
- return ""
- }
- func (o OkReply) String() string {
- return "+OK\r\n"
- }
- // ToBytes 将OK响应转换为字节数组
- // 返回格式:"+OK\r\n"
- func (o OkReply) ToBytes() []byte {
- return []byte("+OK\r\n")
- }
- // NewOkReply 创建新的OkReply实例
- func NewOkReply() *OkReply {
- return &OkReply{}
- }
- // NoReply 表示NO响应,用于Redis协议的NO响应
- type NoReply struct{}
- func (n NoReply) Error() string {
- return ""
- }
- func (n NoReply) String() string {
- return ""
- }
- // ToBytes 将NO响应转换为字节数组
- func (n NoReply) ToBytes() []byte {
- return []byte("")
- }
- // NewNoReply 创建新的NoReply实例
- func NewNoReply() *NoReply {
- return &NoReply{}
- }
- // NullBulkReply 表示NULL响应,用于Redis协议的NULL响应
- // 返回格式:"$-1\r\n"
- type NullBulkReply struct{}
- func (n NullBulkReply) Error() string {
- return ""
- }
- func (n NullBulkReply) String() string {
- return "$-1\r\n"
- }
- // ToBytes 将NULL响应转换为字节数组
- // 返回格式:"$-1\r\n"
- func (n NullBulkReply) ToBytes() []byte {
- return []byte("$-1\r\n")
- }
- func NewNullBulkReply() *NullBulkReply {
- return &NullBulkReply{}
- }
- // EmptyMultiBulkReply 表示空的多批量回复,用于Redis协议的空的多批量回复(空数组)
- // 返回格式:"*0\r\n"
- type EmptyMultiBulkReply struct{}
- func (e EmptyMultiBulkReply) Error() string {
- return ""
- }
- func (e EmptyMultiBulkReply) String() string {
- return "*0\r\n"
- }
- // ToBytes 将空的多批量回复转换为字节数组
- func (e EmptyMultiBulkReply) ToBytes() []byte {
- return []byte("*0\r\n")
- }
- func NewEmptyMultiBulkReply() *EmptyMultiBulkReply {
- return &EmptyMultiBulkReply{}
- }
- // IsOkReply 判断回复是否为OK响应
- func IsOkReply(reply any) bool {
- _, ok := reply.(*OkReply)
- return ok
- }
|