Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make sbot an interface #15

Closed
cryptix opened this issue May 15, 2019 · 2 comments
Closed

make sbot an interface #15

cryptix opened this issue May 15, 2019 · 2 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@cryptix
Copy link
Member

cryptix commented May 15, 2019

Right now there are random indicies hanging of the type Sbot struct from go.cryptoscope.co/ssb/sbot. Some applications don't need them and they waste ram and disk space.

It would be nice to configure which indicies should be present on the bot at creation time and replace the hardcoded struct fields with a method to get the different indicies. Maybe something like:

type Sbot interface{
  GetMultilog(name string) (multilog.Multilog, error)
}

and an option to create them like:

func MountIndex(name string, logCreate ...) Option {
  return func(sbot *sbot) error {
    // hook up index to sbot
  }
}
@cryptix
Copy link
Member Author

cryptix commented May 15, 2019

cc @keks

cryptix added a commit that referenced this issue Aug 14, 2019
updates #15

This is a giant step. It's now possible to define the list of wanted
plugins when creating a server. This means pubs can only run with
userFeeds and graph while more mighty things can load about, tangles,
you name it.

currently userFeeds (sub-logs by author in the single receive log) and
trust graph the remaining required ones because of how they tie into
replication.
cryptix added a commit that referenced this issue Aug 28, 2019
* use new Algo const to differantiate feed types

add PubKey() to FeedRef
add StoredAddr() to FeedRef

* remove default indicies / plugins2 index mounting (updates #15)

This is a giant step. It's now possible to define the list of wanted
plugins when creating a server. This means pubs can only run with
userFeeds and graph while more mighty things can load about, tangles,
you name it.

currently userFeeds (sub-logs by author in the single receive log) and
trust graph the remaining required ones because of how they tie into
replication.

also:
* add offchain tests
* add tests for valid refs
* use different method for offchain feeds
* extract legacyDrain
* fix sbot compilation
* introduce abstract ssb.Message interface
* feedRef: export ID again - otherwise storage marshaling is broken
* remove OffchainMode from legacy publish
* make sure graph works for multiple feed types
* move multimessage and binref out of gabby grove
* multimsg format rootLog wrapper
* don't mix storage and feed binary references
* expose muxrpc.Endpoint from client for raw calls
* unify feed stream handling
* unified publish
* downgrade muxrpc - cleanup branch is borked
* implement ssb.Message on KeyValueRaw
* migrate scripts (cmd/ssb-migrate/log)
* migrate old messages
* make unix socket optional
* private: make 64encoding feed type concern
@cryptix cryptix added enhancement New feature or request help wanted Extra attention is needed labels Jun 5, 2020
@cryptix
Copy link
Member Author

cryptix commented Aug 24, 2021

The idea of modular indexes was scrapped.

@cryptix cryptix closed this as completed Aug 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant