handleDo method

void handleDo(
  1. int option
)

Implementation

void handleDo(int option) {
  final state = usStates[option] ?? OptionState.no;
  switch (state) {
    case OptionState.no:
      // For now, we agree to everything requested unless it's a security risk.
      // But for Task 2, we just follow the state transitions.
      _send(will, option);
      usStates[option] = OptionState.yes;
      break;
    case OptionState.wantYes:
      usStates[option] = OptionState.yes;
      break;
    case OptionState.yes:
      // Already enabled, do nothing.
      break;
    case OptionState.wantNo:
      // Should not happen?
      usStates[option] = OptionState.no;
      break;
  }
}