MatcherContext buildMatcherContext()

in simulator/src/main/java/com/google/cloud/App.java [195:223]


  MatcherContext buildMatcherContext() throws ParameterException {
    String sessionId = DateTimeFormatter.ofPattern("yyyy-MM-dd.HH:mm").format(LocalDateTime.now());
    System.out.println("Session id for this simulation: " + sessionId);

    MatcherContext.Builder builder;
    if (rate > 0) {
      if (simtime > 0) {
        builder = MatcherContext.buildSimulated(sessionId, rate);
        builder.withStartTimeMillis(simtime);
      } else {
        builder = MatcherContext.buildThrottled(sessionId, rate);
      }
    } else {
      if (simtime > 0) {
        throw new ParameterException("Cannot specify simulated time (--simtime) with no rate");
      }
      builder = MatcherContext.build(sessionId);
    }

    if (duration != null) {
      builder.withMaxSeconds(Duration.parse(duration).getSeconds());
    }

    if (limit > 0) {
      builder.withMaxEvents(limit);
    }

    return builder.build();
  }