-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsqe-errors.go
More file actions
40 lines (33 loc) · 892 Bytes
/
sqe-errors.go
File metadata and controls
40 lines (33 loc) · 892 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package goliburing
import "fmt"
// ErrGetSQECode Error codes returned when fetching an empty SQE.
type ErrGetSQECode = int
const (
// ErrSQEMalloc Could not allocate memory for SQE.
ErrSQEMalloc ErrGetSQECode = 1
// ErrSQEFull Submission queue is full.
ErrSQEFull = 2
)
// ErrGetSQE Represents an error while fetching an empty SQE.
type ErrGetSQE struct {
Code ErrGetSQECode
Message string
}
// NewErrGetSQE Creates a new get SQE error.
func NewErrGetSQE(code ErrGetSQECode) *ErrGetSQE {
var message string
if code == ErrSQEMalloc {
message = "could not allocate memory"
} else if code == ErrSQEFull {
message = "submission queue is full"
} else {
message = fmt.Sprintf("unknown error code %d", code)
}
return &ErrGetSQE{
Code: code,
Message: message,
}
}
func (e *ErrGetSQE) Error() string {
return fmt.Sprintf("submission queue entry: %s", e.Message)
}