Currently IO.Defer instance is created to execute each request to support all effect types/libraries such as Try, Future, ZIO, Cats-effect, Glass etc.
Issue
IO.Defer is a heap allocation that should be removed.
Task
Replace class IO.Defer which an explicit object BagExecutor that is injected at compile time which provides the implementation on how the request should be executed based on the type of the Bag that can be either Asynchronous/Non-blocking or Synchronous/Blocking
Overview
Currently
IO.Defer
instance is created to execute each request to support all effect types/libraries such asTry
,Future
,ZIO
,Cats-effect
,Glass
etc.Issue
IO.Defer
is a heap allocation that should be removed.Task
Replace
class IO.Defer
which an explicitobject BagExecutor
that is injected at compile time which provides the implementation on how the request should be executed based on the type of theBag
that can be eitherAsynchronous/Non-blocking
orSynchronous/Blocking