| Index: pkg/analysis_server/lib/src/index/page_node_manager.dart
|
| diff --git a/pkg/analysis_server/lib/src/index/page_node_manager.dart b/pkg/analysis_server/lib/src/index/page_node_manager.dart
|
| index cce376e0c790d75acc133c512a07b74b276de2e4..6001224dbfd104217018f79020136a553cfb2cdc 100644
|
| --- a/pkg/analysis_server/lib/src/index/page_node_manager.dart
|
| +++ b/pkg/analysis_server/lib/src/index/page_node_manager.dart
|
| @@ -169,6 +169,22 @@ class PageNodeManager<K, V> implements NodeManager<K, V, int> {
|
| PageNodeManager(this.pageManager, this.keyCodec, this.valueCodec);
|
|
|
| @override
|
| + int get maxIndexKeys {
|
| + int keySize = keyCodec.sizeInBytes;
|
| + int childSize = 4;
|
| + int dataSize = pageManager.pageSizeInBytes - INDEX_OFFSET_DATA;
|
| + return (dataSize - childSize) ~/ (keySize + childSize);
|
| + }
|
| +
|
| + @override
|
| + int get maxLeafKeys {
|
| + int keySize = keyCodec.sizeInBytes;
|
| + int valueSize = valueCodec.sizeInBytes;
|
| + int dataSize = pageManager.pageSizeInBytes - INDEX_OFFSET_DATA;
|
| + return dataSize ~/ (keySize + valueSize);
|
| + }
|
| +
|
| + @override
|
| int createIndex() {
|
| int id = pageManager.alloc();
|
| indexPages.add(id);
|
|
|