code: func (t ElapsedTime) MarshalBinary() ([]byte, error) {
  	b := buffer.New(nil)
  
  	unit := 10 * time.Millisecond
  	// The elapsed time value is an unsigned, 16 bit integer.
  	// The client uses the value 0xffff to represent any
  	// elapsed time values greater than the largest time value
  	// that can be represented in the Elapsed Time option.
  	if max := time.Duration(math.MaxUint16) * unit; time.Duration(t) > max {
  		t = ElapsedTime(max)
  	}
  	b.Write16(uint16(time.Duration(t) / unit))
  	return b.Data(), nil
  }
docs: // MarshalBinary allocates a byte slice containing the data from an
  // ElapsedTime.