github.com/status-im/status-go@v1.1.0/server/pairing/interfaces.go (about)

     1  package pairing
     2  
     3  // PayloadMounterReceiver represents a struct that can:
     4  //   - mount payload data from a PayloadRepository or a PayloadLoader into memory (PayloadMounter.Mount)
     5  //   - prepare data to be sent encrypted (PayloadMounter.ToSend) via some transport
     6  //   - receive and prepare encrypted transport data (PayloadReceiver.Receive) to be stored
     7  //   - prepare the received (PayloadReceiver.Received) data to be stored to a PayloadRepository or a PayloadStorer
     8  type PayloadMounterReceiver interface {
     9  	PayloadMounter
    10  	PayloadReceiver
    11  }
    12  
    13  // PayloadRepository represents a struct that can both load and store data to an internally managed data store
    14  type PayloadRepository interface {
    15  	PayloadLoader
    16  	PayloadStorer
    17  }
    18  
    19  type PayloadLocker interface {
    20  	// LockPayload prevents future excess to outbound safe and received data
    21  	LockPayload()
    22  }
    23  
    24  type ProtobufMarshaller interface {
    25  	MarshalProtobuf() ([]byte, error)
    26  }
    27  
    28  type ProtobufUnmarshaller interface {
    29  	UnmarshalProtobuf([]byte) error
    30  }