bertymessenger

package
v2.454.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2023 License: Apache-2.0, MIT Imports: 64 Imported by: 1

README

Berty go/pkg/bertymessenger

go.dev reference

Please, read the main README.md file first.

Usage

import "berty.tech/berty/v2/go/pkg/bertymessenger"

Get the code

git clone https://github.com/berty/berty
cd berty/go/pkg/bertymessenger

Documentation

Overview

Package bertymessenger contains the top-level API that uses the Berty Protocol to implement the Berty Messenger specific logic.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RestoreFromAccountExport added in v2.189.0

func RestoreFromAccountExport(ctx context.Context, reader io.Reader, coreAPI ipfs_interface.CoreAPI, odb *bertyprotocol.BertyOrbitDB, localDBState *mt.LocalDatabaseState, logger *zap.Logger) error

func TestingInfra added in v2.172.0

func TestingInfra(ctx context.Context, t testing.TB, amount int, logger *zap.Logger) ([]messengertypes.MessengerServiceClient, []*bertyprotocol.TestingProtocol, func())

Types

type Dispatcher added in v2.120.0

type Dispatcher struct {
	// contains filtered or unexported fields
}

func NewDispatcher added in v2.120.0

func NewDispatcher() *Dispatcher

func (*Dispatcher) IsEnabled added in v2.308.0

func (d *Dispatcher) IsEnabled() bool

func (*Dispatcher) Notify added in v2.143.0

func (d *Dispatcher) Notify(typ messengertypes.StreamEvent_Notified_Type, title, body string, msg proto.Message) error

func (*Dispatcher) Register added in v2.120.0

func (d *Dispatcher) Register(n Notifiee) func()

func (*Dispatcher) StreamEvent added in v2.120.0

func (d *Dispatcher) StreamEvent(typ messengertypes.StreamEvent_Type, msg proto.Message, isNew bool) error

func (*Dispatcher) Unregister added in v2.120.0

func (d *Dispatcher) Unregister(n Notifiee)

func (*Dispatcher) UnregisterAll added in v2.143.0

func (d *Dispatcher) UnregisterAll()

type MetaFetcherFromProtocolClient added in v2.308.0

type MetaFetcherFromProtocolClient struct {
	// contains filtered or unexported fields
}

func (*MetaFetcherFromProtocolClient) GroupPKForContact added in v2.308.0

func (svc *MetaFetcherFromProtocolClient) GroupPKForContact(ctx context.Context, contactPK []byte) ([]byte, error)

func (*MetaFetcherFromProtocolClient) OwnMemberAndDevicePKForConversation added in v2.308.0

func (svc *MetaFetcherFromProtocolClient) OwnMemberAndDevicePKForConversation(ctx context.Context, conversationPK []byte) (member []byte, device []byte, err error)

type Notifiee added in v2.120.0

type Notifiee interface {
	StreamEvent(*messengertypes.StreamEvent) error
}

Notifiee system inspired from ipfs

type NotifieeBundle added in v2.120.0

type NotifieeBundle struct {
	StreamEventImpl func(c *messengertypes.StreamEvent) error
}

func (*NotifieeBundle) StreamEvent added in v2.120.0

func (nb *NotifieeBundle) StreamEvent(c *messengertypes.StreamEvent) error

type Opts

type Opts struct {
	EnableGroupMonitor  bool
	Logger              *zap.Logger
	DB                  *gorm.DB
	NotificationManager notification.Manager
	LifeCycleManager    *lifecycle.Manager
	StateBackup         *mt.LocalDatabaseState
	PlatformPushToken   *protocoltypes.PushServiceReceiver
	Ring                *zapring.Core
	GRPCInsecureMode    bool

	// LogFilePath defines the location of the current session's log file.
	//
	// This variable is used by svc.TyberHostAttach.
	LogFilePath string
}

type RecvEvent added in v2.291.0

type RecvEvent struct {
	// contains filtered or unexported fields
}

type Service added in v2.120.0

type Service interface {
	mt.MessengerServiceServer
	Close()
}

func New

func New(client protocoltypes.ProtocolServiceClient, opts *Opts) (_ Service, err error)

type TestingAccount added in v2.126.1

type TestingAccount struct {
	// contains filtered or unexported fields
}

func NewTestingAccount added in v2.126.1

func Testing1To1ProcessWholeStream added in v2.266.0

func Testing1To1ProcessWholeStream(t testing.TB) (context.Context, []*TestingAccount, *zap.Logger, func())

func (*TestingAccount) Close added in v2.126.1

func (a *TestingAccount) Close()

func (*TestingAccount) DrainInitEvents added in v2.126.1

func (a *TestingAccount) DrainInitEvents(t testing.TB)

func (*TestingAccount) GetAccount added in v2.126.1

func (a *TestingAccount) GetAccount() *messengertypes.Account

func (*TestingAccount) GetAllContacts added in v2.250.0

func (a *TestingAccount) GetAllContacts() map[string]*messengertypes.Contact

func (*TestingAccount) GetAllConversations added in v2.250.0

func (a *TestingAccount) GetAllConversations() map[string]*messengertypes.Conversation

func (*TestingAccount) GetClient added in v2.126.1

func (*TestingAccount) GetContact added in v2.228.1

func (a *TestingAccount) GetContact(t testing.TB, pk string) *messengertypes.Contact

func (*TestingAccount) GetConversation added in v2.218.0

func (a *TestingAccount) GetConversation(t testing.TB, pk string) *messengertypes.Conversation

func (*TestingAccount) GetInteraction added in v2.266.0

func (a *TestingAccount) GetInteraction(t testing.TB, cid string) *messengertypes.Interaction

func (*TestingAccount) GetMember added in v2.291.0

func (a *TestingAccount) GetMember(t testing.TB, pk string) *messengertypes.Member

func (*TestingAccount) GetStream added in v2.126.1

func (a *TestingAccount) GetStream(t testing.TB) <-chan *RecvEvent

func (*TestingAccount) NextEvent added in v2.126.1

func (*TestingAccount) ProcessWholeStream added in v2.218.0

func (a *TestingAccount) ProcessWholeStream(t testing.TB) func()

func (*TestingAccount) SetName added in v2.126.1

func (a *TestingAccount) SetName(t testing.TB, name string)

func (*TestingAccount) SetNameAndDrainUpdate added in v2.126.6

func (a *TestingAccount) SetNameAndDrainUpdate(t testing.TB, name string)

func (*TestingAccount) TryNextEvent added in v2.126.1

func (a *TestingAccount) TryNextEvent(t testing.TB, timeout time.Duration) *messengertypes.StreamEvent

type TestingServiceOpts

type TestingServiceOpts struct {
	Logger      *zap.Logger
	Client      bertyprotocol.Client
	Index       int
	Ring        *zapring.Core
	LogFilePath string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL