### 17.4 P2 — 직렬 스트림 기록기의 가장 오래된 것 버리기가 잘못된 메시지의 바이트를 뺀다 ```java case DROP_OLDEST -> { GrpcStreamEnvelope dropped = queue.pollFirst(); if (dropped != null) { queuedBytes = Math.max(0L, queuedBytes - nextBytes); // ← 들어오는 메시지의 크기 droppedMessages++; } enqueue(kind, payload, snapshotVersion, resumeToken, nextBytes); yield GrpcStreamWriteResult.DROPPED; } ``` 버려지는 것은 꺼낸 봉투인데 빼는 값은 새 메시지의 크기다. 봉투는 크기를 성분으로 담지 않으므로 이 지점에서 버려지는 크기를 알 방법이 없다.