Skip to content

Commit

Permalink
Expose error structs
Browse files Browse the repository at this point in the history
  • Loading branch information
nemosupremo committed May 5, 2014
1 parent 0e247a0 commit 570b8b2
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 23 deletions.
30 changes: 15 additions & 15 deletions errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,59 +18,59 @@ const (
errUnprepared = 0x2500
)

type errorFrame interface {
type RequestError interface {
Code() int
Message() string
Error() string
}

type errorResponse struct {
type errorFrame struct {
code int
message string
}

func (e errorResponse) Code() int {
func (e errorFrame) Code() int {
return e.code
}

func (e errorResponse) Message() string {
func (e errorFrame) Message() string {
return e.message
}

func (e errorResponse) Error() string {
func (e errorFrame) Error() string {
return e.Message()
}

type errRespUnavailable struct {
errorResponse
type RequestErrUnavailable struct {
errorFrame
Consistency Consistency
Required int
Alive int
}

type errRespWriteTimeout struct {
errorResponse
type RequestErrWriteTimeout struct {
errorFrame
Consistency Consistency
Received int
BlockFor int
WriteType string
}

type errRespReadTimeout struct {
errorResponse
type RequestErrReadTimeout struct {
errorFrame
Consistency Consistency
Received int
BlockFor int
DataPresent byte
}

type errRespAlreadyExists struct {
errorResponse
type RequestErrAlreadyExists struct {
errorFrame
Keyspace string
Table string
}

type errRespUnprepared struct {
errorResponse
type RequestErrUnprepared struct {
errorFrame
StatementId []byte
}
2 changes: 1 addition & 1 deletion errors_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func TestErrorsParse(t *testing.T) {
t.Fatal("Should have gotten already exists error from cassandra server.")
} else {
switch e := err.(type) {
case errRespAlreadyExists:
case RequestErrAlreadyExists:
if e.Table != "errors_parse" {
t.Fatal("Failed to parse error response from cassandra for ErrAlreadyExists.")
}
Expand Down
14 changes: 7 additions & 7 deletions frame.go
Original file line number Diff line number Diff line change
Expand Up @@ -263,16 +263,16 @@ func (f *frame) readMetaData() ([]ColumnInfo, []byte) {
return columns, pageState
}

func (f *frame) readError() errorFrame {
func (f *frame) readError() RequestError {
code := f.readInt()
msg := f.readString()
errD := errorResponse{code, msg}
errD := errorFrame{code, msg}
switch code {
case errUnavailable:
cl := Consistency(f.readShort())
required := f.readInt()
alive := f.readInt()
return errRespUnavailable{errorResponse: errD,
return RequestErrUnavailable{errorFrame: errD,
Consistency: cl,
Required: required,
Alive: alive}
Expand All @@ -281,7 +281,7 @@ func (f *frame) readError() errorFrame {
received := f.readInt()
blockfor := f.readInt()
writeType := f.readString()
return errRespWriteTimeout{errorResponse: errD,
return RequestErrWriteTimeout{errorFrame: errD,
Consistency: cl,
Received: received,
BlockFor: blockfor,
Expand All @@ -293,7 +293,7 @@ func (f *frame) readError() errorFrame {
blockfor := f.readInt()
dataPresent := (*f)[0]
*f = (*f)[1:]
return errRespReadTimeout{errorResponse: errD,
return RequestErrReadTimeout{errorFrame: errD,
Consistency: cl,
Received: received,
BlockFor: blockfor,
Expand All @@ -302,13 +302,13 @@ func (f *frame) readError() errorFrame {
case errAlreadyExists:
ks := f.readString()
table := f.readString()
return errRespAlreadyExists{errorResponse: errD,
return RequestErrAlreadyExists{errorFrame: errD,
Keyspace: ks,
Table: table,
}
case errUnprepared:
stmtId := f.readShortBytes()
return errRespUnprepared{errorResponse: errD,
return RequestErrUnprepared{errorFrame: errD,
StatementId: stmtId,
}
default:
Expand Down

0 comments on commit 570b8b2

Please sign in to comment.