// NewDatastore constructs a new LRU Datastore with given capacity. func NewDatastore(capacity int) (*Datastore, error) { cache, err := lru.New(capacity) if err != nil { return nil, err } return &Datastore{cache: cache}, nil }
// NewRoutingResolver constructs a name resolver using the IPFS Routing system // to implement SFS-like naming on top. // cachesize is the limit of the number of entries in the lru cache. Setting it // to '0' will disable caching. func NewRoutingResolver(route routing.IpfsRouting, cachesize int) *routingResolver { if route == nil { panic("attempt to create resolver with nil routing system") } var cache *lru.Cache if cachesize > 0 { cache, _ = lru.New(cachesize) } return &routingResolver{ routing: route, cache: cache, } }