21 lines
701 B
Python
21 lines
701 B
Python
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
from collections import deque
|
|
from dataclasses import dataclass
|
|
from typing import Deque, Dict, Iterable, List, Optional, Protocol, Tuple
|
|
|
|
from vllm.core.block.interfaces import Block, BlockAllocator
|
|
|
|
BlockId = int
|
|
RefCount = int
|
|
|
|
class BlockList:
|
|
def append_token_ids(self, block_index: int, token_ids: List[int], seq_id: Optional[int]=None) -> None:
|
|
block = self._blocks[block_index]
|
|
prev_block_id = block.block_id
|
|
|
|
block.append_token_ids(token_ids, seq_id=seq_id)
|
|
|
|
# CoW or promotion may update the internal block_id
|
|
if prev_block_id != block.block_id:
|
|
self._update_block_id(block_index, block.block_id) |