文件名称:ring_buffer:基于Erlang的环形或环形缓冲区的实现
文件大小:6KB
文件格式:ZIP
更新时间:2024-03-25 03:25:57
elixir-lang elixir-library Elixir
ring_buffer RingBuffer是环形或环形缓冲区数据结构的实现,内部基于Erlang的:queue。 RingBuffer具有:max_size ,它是在创建时通过new/1指定的。 在一个:size小于其:max_size的RingBuffer上调用put/2将会: 将项目添加到缓冲区 增加缓冲区的:size 将:evicted设置为nil(因为对put/2的调用没有驱逐任何项目) 在一个:size等于:max_size的RingBuffer上调用put/2将会: 将项目添加到缓冲区 维持:size等于:max_size 将:evicted设置为调用put/2之前的缓冲区中最旧的项目 因此,此实现提供了通过%RingBuffer{}结构的:evicted字段访问由于最近调用put/2 (如果有)而从缓冲区中退出的项的功能。 看到的doctests Ring
【文件预览】:
ring_buffer-main
----mix.lock(3KB)
----.gitignore(94B)
----mix.exs(1016B)
----README.md(2KB)
----lib()
--------ring_buffer.ex(6KB)
----test()
--------ring_buffer_test.exs(2KB)
--------test_helper.exs(15B)