This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package test; | |
import java.time.LocalTime; | |
import java.time.format.DateTimeFormatter; | |
import java.util.concurrent.ExecutionException; | |
import java.util.concurrent.Executors; | |
import java.util.concurrent.ScheduledExecutorService; | |
import java.util.concurrent.ScheduledFuture; | |
import java.util.concurrent.TimeUnit; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var FILE_PATTERNS = /^(Channel_Play_Success_Ratio|Video_Play_Success_Ratio|Login_Success_Ratio|Play_Success_Ratio).+\-1\.csv$/; | |
var Files = java.nio.file.Files; | |
var Paths = java.nio.file.Paths; | |
function printWithCarriageReturn(str) java.lang.System.out['print(String)'](str + '\r'); | |
function throwError(msg) { throw new Error(msg); }; // Brackets are required | |
if (typeof $ARG === 'undefined' || $ARG.length === 0) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package test; | |
import java.time.LocalTime; | |
import java.util.ArrayDeque; | |
import java.util.Arrays; | |
import java.util.Collection; | |
import java.util.Comparator; | |
import java.util.Iterator; | |
import java.util.LinkedHashMap; | |
import java.util.List; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class RateLimiter(val time: Long, val timeUnit: TimeUnit, val noOfTokensPerSlot: Int) | |
{ | |
private val timeInMillis = timeUnit.toMillis(time) | |
private var tokensReleasedTime = (System.currentTimeMillis() / 1000) * 1000 | |
private var availableTokens = noOfTokensPerSlot | |
init | |
{ | |
require(time > 0, { "time[$time] should be positive" }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function CustomArraySorter() | |
{ | |
this.sort = function(arr, orderReference /* Optional */) | |
{ | |
orderRef = orderReference; | |
orderRef ? arr.sort(customSortFun) : arr.sort(); | |
}; | |
let orderRef; | |
let customSortFun = (x, y) => orderRef.indexOf(x) - orderRef.indexOf(y); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var debug = false; | |
start(); | |
function start() | |
{ | |
if (typeof $ARG === "undefined" || $ARG.length !== 2) | |
{ | |
log("Usage: jjs -scripting proxy_from_pac.js -- <pacfile> <url>"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function minNonNegative(num1, num2) | |
{ | |
if (num1 >= 0 && (num1 <= num2 || num2 < 0)) | |
return num1; | |
if (num2 >= 0) | |
return num2; | |
throw new Error(`Both num1[${num1}] and num2[${num2}] are negative`); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package test; | |
import static java.util.Arrays.asList; | |
import java.util.ArrayDeque; | |
import java.util.Collections; | |
import java.util.Deque; | |
import java.util.Iterator; | |
import java.util.NoSuchElementException; | |
import java.util.Objects; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract class AbstractIterator<T> implements Iterator<T> | |
{ | |
private boolean hasMoreData = true, nextComputed; | |
private T data; | |
@Override | |
public final boolean hasNext() | |
{ | |
if (hasMoreData && !nextComputed) | |
{ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final class PeekingIterator<T> implements Iterator<T> | |
{ | |
private Iterator<T> iterator; | |
private boolean elementPeeked; | |
private T peekedElement; | |
public PeekingIterator(Iterator<T> iterator) | |
{ | |
this.iterator = iterator; |