Skip to content

Commit fa35c6c

Browse files
committed
Remove LinkedMap class
1 parent f2bf765 commit fa35c6c

File tree

5 files changed

+17
-101
lines changed

5 files changed

+17
-101
lines changed

packages/p2p-media-loader-core/src/core.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import {
1010
StreamDetails,
1111
} from "./types";
1212
import * as StreamUtils from "./utils/stream";
13-
import { LinkedMap } from "./linked-map";
1413
import { BandwidthCalculator } from "./bandwidth-calculator";
1514
import { EngineCallbacks } from "./requests/engine-request";
1615
import { SegmentsMemoryStorage } from "./segments-storage";
@@ -67,7 +66,7 @@ export class Core<TStream extends Stream = Stream> {
6766
if (this.streams.has(stream.localId)) return;
6867
this.streams.set(stream.localId, {
6968
...stream,
70-
segments: new LinkedMap<string, Segment>(),
69+
segments: new Map<string, Segment>(),
7170
});
7271
}
7372

@@ -81,7 +80,7 @@ export class Core<TStream extends Stream = Stream> {
8180

8281
addSegments?.forEach((s) => {
8382
const segment = { ...s, stream };
84-
stream.segments.addToEnd(segment.localId, segment);
83+
stream.segments.set(segment.localId, segment);
8584
});
8685
removeSegmentIds?.forEach((id) => stream.segments.delete(id));
8786
this.mainStreamLoader?.updateStream(stream);

packages/p2p-media-loader-core/src/linked-map.ts

Lines changed: 0 additions & 82 deletions
This file was deleted.

packages/p2p-media-loader-core/src/types.d.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { LinkedMap } from "./linked-map";
21
import { RequestAttempt } from "./requests/request";
32
import { BandwidthCalculator } from "./bandwidth-calculator";
43

@@ -25,23 +24,15 @@ export type Stream = {
2524
readonly index: number;
2625
};
2726

28-
export type ReadonlyLinkedMap<K, V extends object> = Pick<
29-
LinkedMap<K, V>,
30-
"has" | "keys" | "values" | "valuesBackwards" | "size"
31-
>;
32-
3327
export type StreamWithSegments<
3428
TStream extends Stream = Stream,
35-
TMap extends ReadonlyLinkedMap<string, SegmentBase> = LinkedMap<
36-
string,
37-
Segment
38-
>,
29+
TMap extends ReadonlyMap<string, SegmentBase> = Map<string, Segment>,
3930
> = TStream & {
4031
readonly segments: TMap;
4132
};
4233

4334
export type StreamWithReadonlySegments<TStream extends Stream = Stream> =
44-
StreamWithSegments<TStream, ReadonlyLinkedMap<string, SegmentBase>>;
35+
StreamWithSegments<TStream, ReadonlyMap<string, SegmentBase>>;
4536

4637
export type SegmentResponse = {
4738
data: ArrayBuffer;

packages/p2p-media-loader-core/src/utils/queue.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,19 @@ export function* generateQueue(
1313
settings: PlaybackTimeWindowsSettings
1414
): Generator<QueueItem, void> {
1515
const { localId: requestedSegmentId, stream } = lastRequestedSegment;
16-
const queueSegments = stream.segments.values(requestedSegmentId);
1716

18-
const first = queueSegments.next().value;
19-
if (!first) return;
17+
const requestedSegment = stream.segments.get(requestedSegmentId);
18+
if (!requestedSegment) return;
19+
20+
const queueSegments = stream.segments.values();
21+
22+
let first: Segment | undefined;
23+
24+
while (first !== requestedSegment) {
25+
first = queueSegments.next().value;
26+
}
27+
28+
if (!first) return; // should never happen
2029

2130
const firstStatuses = getSegmentPlaybackStatuses(first, playback, settings);
2231
if (isNotActualStatuses(firstStatuses)) {

packages/p2p-media-loader-shaka/src/segment-manager.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
StreamWithReadonlySegments,
66
SegmentBase,
77
StreamType,
8-
ReadonlyLinkedMap,
98
} from "p2p-media-loader-core";
109

1110
// The minimum time interval (in seconds) between segments to assign unique IDs.
@@ -143,7 +142,7 @@ function* itemsBackwards<T>(items: T[]) {
143142
}
144143

145144
function* nSegmentsBackwards(
146-
segments: ReadonlyLinkedMap<string, SegmentBase>,
145+
segments: ReadonlyMap<string, SegmentBase>,
147146
amount: number
148147
) {
149148
let i = 0;

0 commit comments

Comments
 (0)