Object - cache : AbstractEvictionPolicy

The cache:AbstractEvictionPolicy Ballerina object is used for custom implementations of the eviction policy for a Ballerina cache object. Any custom eviction policy implementation should be object-wise similar.

Methods

Updates the linked list based on the get operation.

Updates the linked list based on the put operation.

Updates the linked list based on the remove operation.

Updates the linked list based on the replace operation.

Updates the linked list based on the clear operation.

Updates the linked list based on the evict operation.

get

(LinkedList list, Node node)

Updates the linked list based on the get operation.

Parameters

  • list LinkedList
  • Linked list data structure, which is used to govern the eviction policy

  • node Node
  • Node of the linked list, which is retrieved

put

(LinkedList list, Node node)

Updates the linked list based on the put operation.

Parameters

  • list LinkedList
  • Linked list data structure, which is used to govern the eviction policy

  • node Node
  • Node of the linked list, which is added newly

remove

(LinkedList list, Node node)

Updates the linked list based on the remove operation.

Parameters

  • list LinkedList
  • Linked list data structure, which is used to govern the eviction policy

  • node Node
  • Node of the linked list, which is deleted

replace

(LinkedList list, Node newNode, Node oldNode)

Updates the linked list based on the replace operation.

Parameters

  • list LinkedList
  • Linked list data structure, which is used to govern the eviction policy

  • newNode Node
  • Node of the linked list, which will be replacing the oldNode

  • oldNode Node
  • Node of the linked list, which will be replaced by the newNode

clear

(LinkedList list)

Updates the linked list based on the clear operation.

Parameters

  • list LinkedList
  • Linked list data structure, which is used to govern the eviction policy

evict

(LinkedList list)

returns Node?

Updates the linked list based on the evict operation.

Parameters

  • list LinkedList
  • Linked list data structure, which is used to govern the eviction policy

  • Return Type

    (Node?)
  • The Node, which is evicted from the linked list or () if nothing to be evicted