decode static method

ProcedureStatus decode(
  1. BsatnDecoder decoder
)

Implementation

static ProcedureStatus decode(BsatnDecoder decoder) {
  final tag = decoder.readU8();

  if (tag == 0) {
    final dataLength = decoder.readU32();
    final data = decoder.readBytes(dataLength);
    return ProcedureStatus(
      type: ProcedureStatusType.returned,
      returnedData: data,
    );
  } else if (tag == 1) {
    final error = decoder.readString();
    return ProcedureStatus(
      type: ProcedureStatusType.internalError,
      errorMessage: error,
    );
  }

  throw ArgumentError('Unknown ProcedureStatus tag: $tag');
}