Version: v2.388.0 Latest Latest

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

Go to latest
Published: May 20, 2022 License: Apache-2.0, MIT Imports: 61 Imported by: 1


Berty go/pkg/bertymessenger reference

Please, read the main file first.


import ""

Get the code

git clone
cd berty/go/pkg/bertymessenger



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



View Source
const (
	StateActive lifecycle.State = iota


This section is empty.


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.T, amount int, logger *zap.Logger) ([]messengertypes.MessengerServiceClient, []*bertyprotocol.TestingProtocol, func())


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

	// 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 {

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 NewTestingAccount(ctx context.Context, t *testing.T, client messengertypes.MessengerServiceClient, protocolClient protocoltypes.ProtocolServiceClient, logger *zap.Logger) *TestingAccount

func Testing1To1ProcessWholeStream added in v2.266.0

func Testing1To1ProcessWholeStream(t *testing.T) (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.T)

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.T, pk string) *messengertypes.Contact

func (*TestingAccount) GetConversation added in v2.218.0

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

func (*TestingAccount) GetInteraction added in v2.266.0

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

func (*TestingAccount) GetMedia added in v2.228.1

func (a *TestingAccount) GetMedia(t *testing.T, cid string) *messengertypes.Media

func (*TestingAccount) GetMember added in v2.291.0

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

func (*TestingAccount) GetStream added in v2.126.1

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

func (*TestingAccount) NextEvent added in v2.126.1

func (*TestingAccount) ProcessWholeStream added in v2.218.0

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

func (*TestingAccount) SetName added in v2.126.1

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

func (*TestingAccount) SetNameAndDrainUpdate added in v2.126.6

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

func (*TestingAccount) TryNextEvent added in v2.126.1

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

type TestingServiceOpts

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

Jump to

Keyboard shortcuts

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