32 lines
916 B
Go
32 lines
916 B
Go
package protocol
|
|
|
|
// MessageType represents the type of protocol message
|
|
type MessageType byte
|
|
|
|
const (
|
|
ChallengeRequestType MessageType = 0x01
|
|
SolutionRequestType MessageType = 0x03
|
|
// Response types (for responses.go)
|
|
ChallengeResponseType MessageType = 0x02
|
|
QuoteResponseType MessageType = 0x04
|
|
ErrorResponseType MessageType = 0x05
|
|
)
|
|
|
|
// Error codes as defined in protocol specification
|
|
const (
|
|
ErrMalformedMessage = "MALFORMED_MESSAGE"
|
|
ErrInvalidChallenge = "INVALID_CHALLENGE"
|
|
ErrInvalidSolution = "INVALID_SOLUTION"
|
|
ErrExpiredChallenge = "EXPIRED_CHALLENGE"
|
|
ErrRateLimited = "RATE_LIMITED"
|
|
ErrServerError = "SERVER_ERROR"
|
|
ErrTooManyConnections = "TOO_MANY_CONNECTIONS"
|
|
ErrDifficultyTooHigh = "DIFFICULTY_TOO_HIGH"
|
|
)
|
|
|
|
// Protocol constants
|
|
const (
|
|
MaxPayloadSize = 8 * 1024 // 8KB maximum payload size
|
|
HeaderSize = 5 // 1 byte type + 4 bytes length
|
|
)
|