メインコンテンツまでスキップ

Buffer分割計画

Buffer が大きいので役割ごとに分割してみる。

http get の結果

とりあえずここから手をつける。

  • CurrentURL
  • HttpResponse
  • ContentType
  • Body bytes
js的にはこう
async function get(url) => Promise<HttpResponse>;

この HttpResponse から Buffer を作るという設計変更をする。 現状は、

  • buf = new Buffer
  • http_get(buf)
  • parse_html(buf)
  • return buf

という感じで 早期に Buffer が登場(Bufferにhttp headerを直接投入する)して物置と化しています。

Buffer管理

  • LinkList: prev, next
  • LinkBuffer

Line

HtmlParse 後。 utf8になって、2次元整形済み。 content と term width の2つで確定

  • Line[]

terminal の描画情報

  • cursor 位置
  • scroll 位置