Skip to content

Commit

Permalink
#187 fix NotSerializableException
Browse files Browse the repository at this point in the history
  • Loading branch information
vladimir-bukhtoyarov committed Nov 14, 2021
1 parent 43be28b commit 73a61f2
Showing 1 changed file with 20 additions and 21 deletions.
41 changes: 20 additions & 21 deletions bucket4j-core/src/main/java/io/github/bucket4j/VerboseResult.java
Expand Up @@ -38,26 +38,6 @@ public class VerboseResult<T extends Serializable> implements Serializable {
private final T value;
private final BucketConfiguration configuration;
private final BucketState state;
private final Diagnostics diagnostics = new Diagnostics() {
@Override
public long calculateFullRefillingTime() {
return state.calculateFullRefillingTime(configuration.getBandwidths(), operationTimeNanos);
}
@Override
public long getAvailableTokens() {
return state.getAvailableTokens(configuration.getBandwidths());
}

@Override
public long[] getAvailableTokensPerEachBandwidth() {
Bandwidth[] bandwidths = configuration.getBandwidths();
long[] availableTokens = new long[bandwidths.length];
for (int i = 0; i < bandwidths.length; i++) {
availableTokens[i] = state.getCurrentSize(i);
}
return availableTokens;
}
};

public VerboseResult(long operationTimeNanos, T value, BucketConfiguration configuration, BucketState state) {
this.operationTimeNanos = operationTimeNanos;
Expand Down Expand Up @@ -98,7 +78,26 @@ public long getOperationTimeNanos() {
* @return internal state describer
*/
public Diagnostics getDiagnostics() {
return diagnostics;
return new Diagnostics() {
@Override
public long calculateFullRefillingTime() {
return state.calculateFullRefillingTime(configuration.getBandwidths(), operationTimeNanos);
}
@Override
public long getAvailableTokens() {
return state.getAvailableTokens(configuration.getBandwidths());
}

@Override
public long[] getAvailableTokensPerEachBandwidth() {
Bandwidth[] bandwidths = configuration.getBandwidths();
long[] availableTokens = new long[bandwidths.length];
for (int i = 0; i < bandwidths.length; i++) {
availableTokens[i] = state.getCurrentSize(i);
}
return availableTokens;
}
};
}

/**
Expand Down

0 comments on commit 73a61f2

Please sign in to comment.