Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthProvider ¶
type ClientNodeStreamer ¶
type ConsensusServicer ¶ added in v0.3.76
type ConsensusServicer interface {
Start(data event.ValidationEvent) error
Close()
Validate(data []byte, _ warpnet.WarpStream) (any, error)
ValidationResult(data []byte, s warpnet.WarpStream) (any, error)
}
type DiscoveryHandler ¶
type DiscoveryHandler interface {
HandlePeerFound(pi warpnet.WarpAddrInfo)
Run(n discovery.DiscoveryInfoStorer) error
Close()
}
type DistributedHashTableCloser ¶
type DistributedHashTableCloser interface {
Close()
}
type FollowStorer ¶
type FollowStorer interface {
GetFollowersCount(userId string) (uint64, error)
GetFolloweesCount(userId string) (uint64, error)
Follow(fromUserId, toUserId string, event domain.Following) error
Unfollow(fromUserId, toUserId string) error
GetFollowers(userId string, limit *uint64, cursor *string) ([]domain.Following, string, error)
GetFollowees(userId string, limit *uint64, cursor *string) ([]domain.Following, string, error)
}
type MDNSStarterCloser ¶
type MDNSStarterCloser interface {
Start(n mdns.NodeConnector)
Close()
}
type MemberNode ¶
func NewMemberNode ¶
func NewMemberNode( ctx context.Context, privKey ed25519.PrivateKey, psk security.PSK, selfHashHex string, version *semver.Version, authRepo AuthProvider, db Storer, interruptChan chan os.Signal, ) (_ *MemberNode, err error)
func (*MemberNode) GenericStream ¶
func (*MemberNode) NodeInfo ¶ added in v0.3.8
func (m *MemberNode) NodeInfo() warpnet.NodeInfo
func (*MemberNode) Start ¶
func (m *MemberNode) Start(clientNode ClientNodeStreamer) error
func (*MemberNode) Stop ¶
func (m *MemberNode) Stop()
type NodeProvider ¶ added in v0.3.15
type PubSubProvider ¶
type Storer ¶
type Storer interface {
NewTxn() (storage.WarpTransactioner, error)
Get(key storage.DatabaseKey) ([]byte, error)
GetExpiration(key storage.DatabaseKey) (uint64, error)
GetSize(key storage.DatabaseKey) (int64, error)
Sync() error
IsClosed() bool
InnerDB() *storage.WarpDB
SetWithTTL(key storage.DatabaseKey, value []byte, ttl time.Duration) error
Set(key storage.DatabaseKey, value []byte) error
Delete(key storage.DatabaseKey) error
Path() string
Stats() map[string]string
IsFirstRun() bool
}
type UserFetcher ¶
type UserProvider ¶
type UserProvider interface {
Create(user domain.User) (domain.User, error)
GetByNodeID(nodeID string) (user domain.User, err error)
Get(userId string) (user domain.User, err error)
List(limit *uint64, cursor *string) ([]domain.User, string, error)
Update(userId string, newUser domain.User) (updatedUser domain.User, err error)
GetBatch(userIds ...string) (users []domain.User, err error)
CreateWithTTL(user domain.User, ttl time.Duration) (domain.User, error)
WhoToFollow(profileId string, limit *uint64, cursor *string) ([]domain.User, string, error)
}
Click to show internal directories.
Click to hide internal directories.