I4S1U4discussionenhancementhelp wantedneofs-ir
Repository metrics
- Stars
- (36 stars)
- PR merge metrics
- (PR metrics pending)
Description
Some questions:
- Why does it have workers, starters and runners? Also, all of them are anonymous, it makes it difficult to understand what "services" (well, just
func ()) are running/will be running. - Why does it read config everywhere, everywhere, everywhere, etc it wants? SN has been using a separate place for config reading for years already. After config is parsed it passes (and modifies its types if need be) in every component that requires it.
- Its constructor is 650+ lines long. It does many things (converting types, creating new types, reading configs, making some RPC, logging, filling DB, deciding the full IR work mode in a huge
if ... else, etc). I mean that is not bad that everything is happening at theNewstep, I mean that most of that is done literally inside that func. - https://github.com/nspcc-dev/neofs-node/issues/2309 will require changes that should drop processors, listeners all related things. #2309 says "Each service can do Receive* for things it needs..." but IR has only two services in fact: timers (not services TBH, they only can accept
Tickcalls and beReseted), and aListenerthat should be dropped. It also makes anything related to https://github.com/nspcc-dev/neofs-node/issues/1337 hard to implement easily.