5656-record (state , {
5757 key = <<>> :: binary (),
5858 transport_rec :: # transport_record {},
59+ is_disc_cache_active :: boolean (),
5960 iterator :: leo_large_object_commons :iterator ()
6061 }).
6162
7576-spec (start_link (Args ) ->
7677 ok | {error , any ()} when Args :: tuple ()).
7778start_link ({Key , TransportRec }) ->
78- gen_server :start_link (? MODULE , [Key , TransportRec ], []).
79+ IsDiskCacheActive = leo_cache_api :is_disc_cache_active (),
80+ gen_server :start_link (? MODULE , [Key , TransportRec , IsDiskCacheActive ], []).
7981
8082
8183% % @doc Stop this server
@@ -102,14 +104,25 @@ get(Pid, TotalOfChunkedObjs, Req, Meta) ->
102104% %====================================================================
103105% % GEN_SERVER CALLBACKS
104106% %====================================================================
105- init ([Key , TransportRec ]) ->
107+ init ([Key , TransportRec , IsDiskCacheActive ]) ->
106108 State = # state {key = Key ,
107- transport_rec = TransportRec },
109+ transport_rec = TransportRec ,
110+ is_disc_cache_active = IsDiskCacheActive },
108111 {ok , State }.
109112
110113handle_call (stop , _From , State ) ->
111114 {stop , normal , ok , State };
112115
116+ handle_call ({get , TotalOfChunkedObjs , Req , Meta }, _From ,
117+ # state {key = Key , transport_rec = TransportRec , is_disc_cache_active = false } = State ) ->
118+ Reply = handle_loop (TotalOfChunkedObjs ,
119+ # req_info {key = Key ,
120+ chunk_key = Key ,
121+ request = Req ,
122+ metadata = Meta ,
123+ transport_rec = TransportRec }),
124+ {reply , Reply , State };
125+
113126handle_call ({get , TotalOfChunkedObjs , Req , Meta }, _From ,
114127 # state {key = Key , transport_rec = TransportRec } = State ) ->
115128 Reply = case leo_tran_serializable_cntnr :run (
0 commit comments