diff options
| -rw-r--r-- | types/serialize.go | 6 | ||||
| -rw-r--r-- | types/serialize_test.go | 14 | 
2 files changed, 20 insertions, 0 deletions
| diff --git a/types/serialize.go b/types/serialize.go index af0a1ed..fd93336 100644 --- a/types/serialize.go +++ b/types/serialize.go @@ -22,6 +22,12 @@ type GetConsistencyProofV1 struct {  	Second uint64  } +// GetEntriesV1 is a serializable get-entries request +type GetEntriesV1 struct { +	Start uint64 +	End   uint64 +} +  // Marshal marshals a TLS-encodable structure  func Marshal(item interface{}) ([]byte, error) {  	serialized, err := tls.Marshal(item) diff --git a/types/serialize_test.go b/types/serialize_test.go index ed51c2c..a06effe 100644 --- a/types/serialize_test.go +++ b/types/serialize_test.go @@ -92,6 +92,9 @@ func TestMarshalUnmarshal(t *testing.T) {  		case GetConsistencyProofV1:  			var item GetConsistencyProofV1  			err = Unmarshal(b, &item) +		case GetEntriesV1: +			var item GetEntriesV1 +			err = Unmarshal(b, &item)  		default:  			t.Errorf("unhandled type in test %q", table.description)  		} @@ -513,6 +516,17 @@ func test_cases_requests(t *testing.T) []testCaseSerialize {  				[]byte{0x00, 0x00, 0x00, 0x00, 0x1, 0x2, 0x3, 0x4}, // second  			}, nil),  		}, +		{ +			description: "valid: GetEntriesV1", +			item: GetEntriesV1{ +				Start: 0, +				End:   16909060, +			}, +			wantBytes: bytes.Join([][]byte{ +				make([]byte, 8), // start +				[]byte{0x00, 0x00, 0x00, 0x00, 0x1, 0x2, 0x3, 0x4}, // end +			}, nil), +		},  	}  } | 
