package Ġcom . mam ba . storage Ċ Ċ import Ġcom . mam ba . Raft State Ċ import Ġcom . mam ba . Vec Ċ import Ġcom . mam ba . vec Ċ import Ġer af tp b . Er af tp b Ċ Ċ class ĠMem Storage Ġ: ĠStorage Ġ{ ĊĠĠĠ Ġval Ġra ft State : ĠR aft State ĊĊĠĠĠ Ġ// Ġentries [ i ] Ġhas Ġra ft Ġlog Ġposition Ġi + snapshot . get _ metadata (). index ĊĠĠĠ Ġval Ġentries : ĠVec < Er af tp b . Entry > ĊĊĠĠĠ Ġ// ĠMetadata Ġof Ġthe Ġlast Ġsnapshot Ġreceived . ĊĠĠĠ Ġval Ġsnapshot Metadata : ĠEr af tp b . Snapshot Metadata ĊĊĠĠĠ Ġconstructor () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . raft State Ġ= ĠR aft State ( Er af tp b . Hard State . getDefaultInstance (), ĠEr af tp b . Conf State . getDefaultInstance ()) ĊĠĠĠĠĠĠĠ Ġthis . entries Ġ= Ġvec () ĊĠĠĠĠĠĠĠ Ġthis . snapshot Metadata Ġ= ĠEr af tp b . Snapshot Metadata . getDefaultInstance () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠinitialState (): ĠR aft State Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġentries ( low : ĠLong , Ġhigh : ĠLong , ĠmaxSize : ĠLong ?): ĠList < Er af tp b . Entry > Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġterm ( idx : ĠLong ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfirst Index (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlast Index (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsnapshot ( request Index : ĠLong ): ĠEr af tp b . Snapshot Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} Ċ }