mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
core: remove reset() from SharedQueue API
This commit is contained in:
parent
bb642e8c7c
commit
62761a4e3a
4 changed files with 38 additions and 34 deletions
|
@ -22,7 +22,8 @@
|
|||
}
|
||||
|
||||
function reset() {
|
||||
shared32.fill(0, 0, INDEX_RECORDS);
|
||||
shared32[INDEX_NUM_RECORDS] = 0;
|
||||
shared32[INDEX_NUM_SHIFTED_OFF] = 0;
|
||||
shared32[INDEX_HEAD] = HEAD_INIT;
|
||||
}
|
||||
|
||||
|
@ -34,6 +35,10 @@
|
|||
return shared32[INDEX_NUM_RECORDS];
|
||||
}
|
||||
|
||||
function size() {
|
||||
return shared32[INDEX_NUM_RECORDS] - shared32[INDEX_NUM_SHIFTED_OFF];
|
||||
}
|
||||
|
||||
function setEnd(index, end) {
|
||||
shared32[INDEX_OFFSETS + index] = end;
|
||||
}
|
||||
|
@ -77,17 +82,21 @@
|
|||
/// Returns null if empty.
|
||||
function shift() {
|
||||
let i = shared32[INDEX_NUM_SHIFTED_OFF];
|
||||
if (i >= numRecords()) {
|
||||
if (size() == 0) {
|
||||
assert(i == 0);
|
||||
return null;
|
||||
}
|
||||
|
||||
let off = getOffset(i);
|
||||
let end = getEnd(i);
|
||||
shared32[INDEX_NUM_SHIFTED_OFF] += 1;
|
||||
return sharedBytes.subarray(off, end);
|
||||
}
|
||||
|
||||
function size() {
|
||||
return shared32[INDEX_NUM_RECORDS] - shared32[INDEX_NUM_SHIFTED_OFF];
|
||||
if (size() > 1) {
|
||||
shared32[INDEX_NUM_SHIFTED_OFF] += 1;
|
||||
} else {
|
||||
reset();
|
||||
}
|
||||
|
||||
return sharedBytes.subarray(off, end);
|
||||
}
|
||||
|
||||
let asyncHandler = null;
|
||||
|
@ -119,7 +128,6 @@
|
|||
numRecords,
|
||||
size,
|
||||
push,
|
||||
reset,
|
||||
shift
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue