Преглед на файлове

frame: add writeFailure error

Chris Bannister преди 9 години
родител
ревизия
c85296bee7
променени са 2 файла, в които са добавени 20 реда и са изтрити 0 реда
  1. 10 0
      errors.go
  2. 10 0
      frame.go

+ 10 - 0
errors.go

@@ -14,6 +14,7 @@ const (
 	errReadTimeout     = 0x1200
 	errReadFailure     = 0x1300
 	errFunctionFailure = 0x1400
+	errWriteFailure    = 0x1500
 	errSyntax          = 0x2000
 	errUnauthorized    = 0x2100
 	errInvalid         = 0x2200
@@ -70,6 +71,15 @@ type RequestErrWriteTimeout struct {
 	WriteType   string
 }
 
+type RequestErrWriteFailure struct {
+	errorFrame
+	Consistency Consistency
+	Received    int
+	BlockFor    int
+	NumFailures int
+	WriteType   string
+}
+
 type RequestErrReadTimeout struct {
 	errorFrame
 	Consistency Consistency

+ 10 - 0
frame.go

@@ -544,6 +544,16 @@ func (f *framer) parseErrorFrame() frame {
 		res.BlockFor = f.readInt()
 		res.DataPresent = f.readByte() != 0
 		return res
+	case errWriteFailure:
+		res := &RequestErrWriteFailure{
+			errorFrame: errD,
+		}
+		res.Consistency = f.readConsistency()
+		res.Received = f.readInt()
+		res.BlockFor = f.readInt()
+		res.NumFailures = f.readInt()
+		res.WriteType = f.readString()
+		return res
 	case errFunctionFailure:
 		res := RequestErrFunctionFailure{
 			errorFrame: errD,