Package jline.api.sn

Class SnGetBufferSize

java.lang.Object
jline.api.sn.SnGetBufferSize

public final class SnGetBufferSize extends Object
Physical buffer size of a station, in jobs, the one in service included.

Port of matlab/src/api/sn/sn_get_buffer_size.m. Kendall's K: the total occupancy bound of station IST, taken as the tighter of the station capacity sn.cap(ist) and the per-class capacities sn.classcap(ist,:). Returns +Inf when the station is unbounded. Both fields are populated by refreshCapacity, which already folds setCapacity, setClassCapacity, a finite orbit and the closed-chain population into them, so this is the single place that decides whether a buffer BINDS.

Only a buffer that can actually BIND is reported. refreshCapacity derives a FINITE classcap, the chain population, for EVERY closed model, so a plain finiteness test reports a buffer at every station of every closed model; a capacity at least as large as the total population can never refuse a job and is returned as +Inf. sum(njobs) is +Inf as soon as one class is open, so any finite capacity reachable by an open class binds.

The population counted is the one that can REACH this station, not the model's total: using every class made a MIXED model read as finite-buffered at stations an open class never visits.

  • Method Details

    • snGetBufferSize

      public static double snGetBufferSize(NetworkStruct sn, int ist)
      Parameters:
      sn - network structure
      ist - station index
      Returns:
      buffer size in jobs, +Inf if unbounded or non-binding