rpc: Draft more RPC API calls
This commit is contained in:
parent
d5cb5feff1
commit
0b44f08f32
|
@ -13,6 +13,8 @@ type RicochetCore struct {
|
||||||
Config *ricochet.Config
|
Config *ricochet.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var NotImplementedError error = errors.New("Not implemented")
|
||||||
|
|
||||||
func (core *RicochetCore) GetServerStatus(ctx context.Context, req *rpc.ServerStatusRequest) (*rpc.ServerStatusReply, error) {
|
func (core *RicochetCore) GetServerStatus(ctx context.Context, req *rpc.ServerStatusRequest) (*rpc.ServerStatusReply, error) {
|
||||||
if req.RpcVersion != 1 {
|
if req.RpcVersion != 1 {
|
||||||
return nil, errors.New("Unsupported RPC protocol version")
|
return nil, errors.New("Unsupported RPC protocol version")
|
||||||
|
@ -68,3 +70,35 @@ func (core *RicochetCore) StopNetwork(ctx context.Context, req *rpc.StopNetworkR
|
||||||
status := core.Network.GetStatus()
|
status := core.Network.GetStatus()
|
||||||
return &status, nil
|
return &status, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) GetIdentity(ctx context.Context, req *rpc.IdentityRequest) (*rpc.Identity, error) {
|
||||||
|
return nil, NotImplementedError
|
||||||
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) MonitorContacts(req *rpc.MonitorContactsRequest, stream rpc.RicochetCore_MonitorContactsServer) error {
|
||||||
|
return NotImplementedError
|
||||||
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) AddContactRequest(ctx context.Context, req *rpc.ContactRequest) (*rpc.Contact, error) {
|
||||||
|
return nil, NotImplementedError
|
||||||
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) UpdateContact(ctx context.Context, req *rpc.Contact) (*rpc.Contact, error) {
|
||||||
|
return nil, NotImplementedError
|
||||||
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) DeleteContact(ctx context.Context, req *rpc.DeleteContactRequest) (*rpc.DeleteContactReply, error) {
|
||||||
|
return nil, NotImplementedError
|
||||||
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) AcceptInboundRequest(ctx context.Context, req *rpc.ContactRequest) (*rpc.Contact, error) {
|
||||||
|
return nil, NotImplementedError
|
||||||
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) RejectInboundRequest(ctx context.Context, req *rpc.ContactRequest) (*rpc.RejectInboundRequestReply, error) {
|
||||||
|
return nil, NotImplementedError
|
||||||
|
}
|
||||||
|
|
||||||
|
func (core *RicochetCore) StreamConversations(stream rpc.RicochetCore_StreamConversationsServer) error {
|
||||||
|
return NotImplementedError
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
// Code generated by protoc-gen-go.
|
||||||
|
// source: config.proto
|
||||||
|
// DO NOT EDIT!
|
||||||
|
|
||||||
|
/*
|
||||||
|
Package ricochet is a generated protocol buffer package.
|
||||||
|
|
||||||
|
It is generated from these files:
|
||||||
|
config.proto
|
||||||
|
contact.proto
|
||||||
|
conversation.proto
|
||||||
|
core.proto
|
||||||
|
identity.proto
|
||||||
|
network.proto
|
||||||
|
|
||||||
|
It has these top-level messages:
|
||||||
|
Config
|
||||||
|
ConfigRequest
|
||||||
|
Contact
|
||||||
|
ContactRequest
|
||||||
|
MonitorContactsRequest
|
||||||
|
ContactEvent
|
||||||
|
AddContactReply
|
||||||
|
DeleteContactRequest
|
||||||
|
DeleteContactReply
|
||||||
|
RejectInboundRequestReply
|
||||||
|
ConversationEvent
|
||||||
|
Entity
|
||||||
|
Message
|
||||||
|
ServerStatusRequest
|
||||||
|
ServerStatusReply
|
||||||
|
Identity
|
||||||
|
IdentityRequest
|
||||||
|
MonitorNetworkRequest
|
||||||
|
TorProcessStatus
|
||||||
|
TorControlStatus
|
||||||
|
TorConnectionStatus
|
||||||
|
NetworkStatus
|
||||||
|
StartNetworkRequest
|
||||||
|
StopNetworkRequest
|
||||||
|
*/
|
||||||
|
package ricochet
|
||||||
|
|
||||||
|
import proto "github.com/golang/protobuf/proto"
|
||||||
|
import fmt "fmt"
|
||||||
|
import math "math"
|
||||||
|
|
||||||
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
var _ = proto.Marshal
|
||||||
|
var _ = fmt.Errorf
|
||||||
|
var _ = math.Inf
|
||||||
|
|
||||||
|
// This is a compile-time assertion to ensure that this generated file
|
||||||
|
// is compatible with the proto package it is being compiled against.
|
||||||
|
// A compilation error at this line likely means your copy of the
|
||||||
|
// proto package needs to be updated.
|
||||||
|
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
|
type Config struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Config) Reset() { *m = Config{} }
|
||||||
|
func (m *Config) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*Config) ProtoMessage() {}
|
||||||
|
func (*Config) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
|
||||||
|
|
||||||
|
type ConfigRequest struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ConfigRequest) Reset() { *m = ConfigRequest{} }
|
||||||
|
func (m *ConfigRequest) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*ConfigRequest) ProtoMessage() {}
|
||||||
|
func (*ConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterType((*Config)(nil), "ricochet.Config")
|
||||||
|
proto.RegisterType((*ConfigRequest)(nil), "ricochet.ConfigRequest")
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { proto.RegisterFile("config.proto", fileDescriptor0) }
|
||||||
|
|
||||||
|
var fileDescriptor0 = []byte{
|
||||||
|
// 73 bytes of a gzipped FileDescriptorProto
|
||||||
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xe2, 0x49, 0xce, 0xcf, 0x4b,
|
||||||
|
0xcb, 0x4c, 0xd7, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x28, 0xca, 0x4c, 0xce, 0x4f, 0xce,
|
||||||
|
0x48, 0x2d, 0x51, 0xe2, 0xe0, 0x62, 0x73, 0x06, 0xcb, 0x28, 0xf1, 0x73, 0xf1, 0x42, 0x58, 0x41,
|
||||||
|
0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0x49, 0x6c, 0x60, 0xb5, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff,
|
||||||
|
0xff, 0xad, 0xf5, 0x95, 0x4e, 0x3b, 0x00, 0x00, 0x00,
|
||||||
|
}
|
|
@ -0,0 +1,341 @@
|
||||||
|
// Code generated by protoc-gen-go.
|
||||||
|
// source: contact.proto
|
||||||
|
// DO NOT EDIT!
|
||||||
|
|
||||||
|
package ricochet
|
||||||
|
|
||||||
|
import proto "github.com/golang/protobuf/proto"
|
||||||
|
import fmt "fmt"
|
||||||
|
import math "math"
|
||||||
|
|
||||||
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
var _ = proto.Marshal
|
||||||
|
var _ = fmt.Errorf
|
||||||
|
var _ = math.Inf
|
||||||
|
|
||||||
|
type Contact_Status int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
Contact_OFFLINE Contact_Status = 0
|
||||||
|
Contact_ONLINE Contact_Status = 1
|
||||||
|
Contact_REQUEST Contact_Status = 2
|
||||||
|
Contact_REJECTED Contact_Status = 3
|
||||||
|
)
|
||||||
|
|
||||||
|
var Contact_Status_name = map[int32]string{
|
||||||
|
0: "OFFLINE",
|
||||||
|
1: "ONLINE",
|
||||||
|
2: "REQUEST",
|
||||||
|
3: "REJECTED",
|
||||||
|
}
|
||||||
|
var Contact_Status_value = map[string]int32{
|
||||||
|
"OFFLINE": 0,
|
||||||
|
"ONLINE": 1,
|
||||||
|
"REQUEST": 2,
|
||||||
|
"REJECTED": 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x Contact_Status) String() string {
|
||||||
|
return proto.EnumName(Contact_Status_name, int32(x))
|
||||||
|
}
|
||||||
|
func (Contact_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
|
||||||
|
|
||||||
|
type ContactRequest_Direction int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
ContactRequest_INBOUND ContactRequest_Direction = 0
|
||||||
|
ContactRequest_OUTBOUND ContactRequest_Direction = 1
|
||||||
|
)
|
||||||
|
|
||||||
|
var ContactRequest_Direction_name = map[int32]string{
|
||||||
|
0: "INBOUND",
|
||||||
|
1: "OUTBOUND",
|
||||||
|
}
|
||||||
|
var ContactRequest_Direction_value = map[string]int32{
|
||||||
|
"INBOUND": 0,
|
||||||
|
"OUTBOUND": 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x ContactRequest_Direction) String() string {
|
||||||
|
return proto.EnumName(ContactRequest_Direction_name, int32(x))
|
||||||
|
}
|
||||||
|
func (ContactRequest_Direction) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{1, 0} }
|
||||||
|
|
||||||
|
type ContactEvent_Type int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
ContactEvent_NULL ContactEvent_Type = 0
|
||||||
|
ContactEvent_POPULATE ContactEvent_Type = 1
|
||||||
|
ContactEvent_ADD ContactEvent_Type = 2
|
||||||
|
ContactEvent_UPDATE ContactEvent_Type = 3
|
||||||
|
ContactEvent_DELETE ContactEvent_Type = 4
|
||||||
|
)
|
||||||
|
|
||||||
|
var ContactEvent_Type_name = map[int32]string{
|
||||||
|
0: "NULL",
|
||||||
|
1: "POPULATE",
|
||||||
|
2: "ADD",
|
||||||
|
3: "UPDATE",
|
||||||
|
4: "DELETE",
|
||||||
|
}
|
||||||
|
var ContactEvent_Type_value = map[string]int32{
|
||||||
|
"NULL": 0,
|
||||||
|
"POPULATE": 1,
|
||||||
|
"ADD": 2,
|
||||||
|
"UPDATE": 3,
|
||||||
|
"DELETE": 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x ContactEvent_Type) String() string {
|
||||||
|
return proto.EnumName(ContactEvent_Type_name, int32(x))
|
||||||
|
}
|
||||||
|
func (ContactEvent_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }
|
||||||
|
|
||||||
|
type Contact struct {
|
||||||
|
Id int32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
|
||||||
|
Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
|
||||||
|
Nickname string `protobuf:"bytes,3,opt,name=nickname" json:"nickname,omitempty"`
|
||||||
|
WhenCreated string `protobuf:"bytes,4,opt,name=whenCreated" json:"whenCreated,omitempty"`
|
||||||
|
LastConnected string `protobuf:"bytes,5,opt,name=lastConnected" json:"lastConnected,omitempty"`
|
||||||
|
Request *ContactRequest `protobuf:"bytes,6,opt,name=request" json:"request,omitempty"`
|
||||||
|
Status Contact_Status `protobuf:"varint,10,opt,name=status,enum=ricochet.Contact_Status" json:"status,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Contact) Reset() { *m = Contact{} }
|
||||||
|
func (m *Contact) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*Contact) ProtoMessage() {}
|
||||||
|
func (*Contact) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
|
||||||
|
|
||||||
|
func (m *Contact) GetRequest() *ContactRequest {
|
||||||
|
if m != nil {
|
||||||
|
return m.Request
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type ContactRequest struct {
|
||||||
|
Direction ContactRequest_Direction `protobuf:"varint,1,opt,name=direction,enum=ricochet.ContactRequest_Direction" json:"direction,omitempty"`
|
||||||
|
Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
|
||||||
|
Nickname string `protobuf:"bytes,3,opt,name=nickname" json:"nickname,omitempty"`
|
||||||
|
Text string `protobuf:"bytes,4,opt,name=text" json:"text,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ContactRequest) Reset() { *m = ContactRequest{} }
|
||||||
|
func (m *ContactRequest) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*ContactRequest) ProtoMessage() {}
|
||||||
|
func (*ContactRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
|
||||||
|
|
||||||
|
type MonitorContactsRequest struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MonitorContactsRequest) Reset() { *m = MonitorContactsRequest{} }
|
||||||
|
func (m *MonitorContactsRequest) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*MonitorContactsRequest) ProtoMessage() {}
|
||||||
|
func (*MonitorContactsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
|
||||||
|
|
||||||
|
type ContactEvent struct {
|
||||||
|
Type ContactEvent_Type `protobuf:"varint,1,opt,name=type,enum=ricochet.ContactEvent_Type" json:"type,omitempty"`
|
||||||
|
// Types that are valid to be assigned to Subject:
|
||||||
|
// *ContactEvent_Contact
|
||||||
|
// *ContactEvent_Request
|
||||||
|
Subject isContactEvent_Subject `protobuf_oneof:"subject"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ContactEvent) Reset() { *m = ContactEvent{} }
|
||||||
|
func (m *ContactEvent) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*ContactEvent) ProtoMessage() {}
|
||||||
|
func (*ContactEvent) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
|
||||||
|
|
||||||
|
type isContactEvent_Subject interface {
|
||||||
|
isContactEvent_Subject()
|
||||||
|
}
|
||||||
|
|
||||||
|
type ContactEvent_Contact struct {
|
||||||
|
Contact *Contact `protobuf:"bytes,2,opt,name=contact,oneof"`
|
||||||
|
}
|
||||||
|
type ContactEvent_Request struct {
|
||||||
|
Request *ContactRequest `protobuf:"bytes,3,opt,name=request,oneof"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ContactEvent_Contact) isContactEvent_Subject() {}
|
||||||
|
func (*ContactEvent_Request) isContactEvent_Subject() {}
|
||||||
|
|
||||||
|
func (m *ContactEvent) GetSubject() isContactEvent_Subject {
|
||||||
|
if m != nil {
|
||||||
|
return m.Subject
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ContactEvent) GetContact() *Contact {
|
||||||
|
if x, ok := m.GetSubject().(*ContactEvent_Contact); ok {
|
||||||
|
return x.Contact
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ContactEvent) GetRequest() *ContactRequest {
|
||||||
|
if x, ok := m.GetSubject().(*ContactEvent_Request); ok {
|
||||||
|
return x.Request
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// XXX_OneofFuncs is for the internal use of the proto package.
|
||||||
|
func (*ContactEvent) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
|
||||||
|
return _ContactEvent_OneofMarshaler, _ContactEvent_OneofUnmarshaler, _ContactEvent_OneofSizer, []interface{}{
|
||||||
|
(*ContactEvent_Contact)(nil),
|
||||||
|
(*ContactEvent_Request)(nil),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func _ContactEvent_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
|
||||||
|
m := msg.(*ContactEvent)
|
||||||
|
// subject
|
||||||
|
switch x := m.Subject.(type) {
|
||||||
|
case *ContactEvent_Contact:
|
||||||
|
b.EncodeVarint(2<<3 | proto.WireBytes)
|
||||||
|
if err := b.EncodeMessage(x.Contact); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
case *ContactEvent_Request:
|
||||||
|
b.EncodeVarint(3<<3 | proto.WireBytes)
|
||||||
|
if err := b.EncodeMessage(x.Request); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
case nil:
|
||||||
|
default:
|
||||||
|
return fmt.Errorf("ContactEvent.Subject has unexpected type %T", x)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func _ContactEvent_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
|
||||||
|
m := msg.(*ContactEvent)
|
||||||
|
switch tag {
|
||||||
|
case 2: // subject.contact
|
||||||
|
if wire != proto.WireBytes {
|
||||||
|
return true, proto.ErrInternalBadWireType
|
||||||
|
}
|
||||||
|
msg := new(Contact)
|
||||||
|
err := b.DecodeMessage(msg)
|
||||||
|
m.Subject = &ContactEvent_Contact{msg}
|
||||||
|
return true, err
|
||||||
|
case 3: // subject.request
|
||||||
|
if wire != proto.WireBytes {
|
||||||
|
return true, proto.ErrInternalBadWireType
|
||||||
|
}
|
||||||
|
msg := new(ContactRequest)
|
||||||
|
err := b.DecodeMessage(msg)
|
||||||
|
m.Subject = &ContactEvent_Request{msg}
|
||||||
|
return true, err
|
||||||
|
default:
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func _ContactEvent_OneofSizer(msg proto.Message) (n int) {
|
||||||
|
m := msg.(*ContactEvent)
|
||||||
|
// subject
|
||||||
|
switch x := m.Subject.(type) {
|
||||||
|
case *ContactEvent_Contact:
|
||||||
|
s := proto.Size(x.Contact)
|
||||||
|
n += proto.SizeVarint(2<<3 | proto.WireBytes)
|
||||||
|
n += proto.SizeVarint(uint64(s))
|
||||||
|
n += s
|
||||||
|
case *ContactEvent_Request:
|
||||||
|
s := proto.Size(x.Request)
|
||||||
|
n += proto.SizeVarint(3<<3 | proto.WireBytes)
|
||||||
|
n += proto.SizeVarint(uint64(s))
|
||||||
|
n += s
|
||||||
|
case nil:
|
||||||
|
default:
|
||||||
|
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
type AddContactReply struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AddContactReply) Reset() { *m = AddContactReply{} }
|
||||||
|
func (m *AddContactReply) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*AddContactReply) ProtoMessage() {}
|
||||||
|
func (*AddContactReply) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
|
||||||
|
|
||||||
|
type DeleteContactRequest struct {
|
||||||
|
Id int32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
|
||||||
|
Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *DeleteContactRequest) Reset() { *m = DeleteContactRequest{} }
|
||||||
|
func (m *DeleteContactRequest) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*DeleteContactRequest) ProtoMessage() {}
|
||||||
|
func (*DeleteContactRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
|
||||||
|
|
||||||
|
type DeleteContactReply struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *DeleteContactReply) Reset() { *m = DeleteContactReply{} }
|
||||||
|
func (m *DeleteContactReply) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*DeleteContactReply) ProtoMessage() {}
|
||||||
|
func (*DeleteContactReply) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
|
||||||
|
|
||||||
|
type RejectInboundRequestReply struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RejectInboundRequestReply) Reset() { *m = RejectInboundRequestReply{} }
|
||||||
|
func (m *RejectInboundRequestReply) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*RejectInboundRequestReply) ProtoMessage() {}
|
||||||
|
func (*RejectInboundRequestReply) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterType((*Contact)(nil), "ricochet.Contact")
|
||||||
|
proto.RegisterType((*ContactRequest)(nil), "ricochet.ContactRequest")
|
||||||
|
proto.RegisterType((*MonitorContactsRequest)(nil), "ricochet.MonitorContactsRequest")
|
||||||
|
proto.RegisterType((*ContactEvent)(nil), "ricochet.ContactEvent")
|
||||||
|
proto.RegisterType((*AddContactReply)(nil), "ricochet.AddContactReply")
|
||||||
|
proto.RegisterType((*DeleteContactRequest)(nil), "ricochet.DeleteContactRequest")
|
||||||
|
proto.RegisterType((*DeleteContactReply)(nil), "ricochet.DeleteContactReply")
|
||||||
|
proto.RegisterType((*RejectInboundRequestReply)(nil), "ricochet.RejectInboundRequestReply")
|
||||||
|
proto.RegisterEnum("ricochet.Contact_Status", Contact_Status_name, Contact_Status_value)
|
||||||
|
proto.RegisterEnum("ricochet.ContactRequest_Direction", ContactRequest_Direction_name, ContactRequest_Direction_value)
|
||||||
|
proto.RegisterEnum("ricochet.ContactEvent_Type", ContactEvent_Type_name, ContactEvent_Type_value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { proto.RegisterFile("contact.proto", fileDescriptor1) }
|
||||||
|
|
||||||
|
var fileDescriptor1 = []byte{
|
||||||
|
// 495 bytes of a gzipped FileDescriptorProto
|
||||||
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x53, 0xd1, 0x6e, 0xd3, 0x30,
|
||||||
|
0x14, 0x5d, 0x9a, 0x2c, 0x69, 0x6f, 0xb7, 0xd2, 0x59, 0x13, 0x0a, 0xec, 0x65, 0xb2, 0x10, 0xe2,
|
||||||
|
0x85, 0x80, 0x0a, 0x8f, 0x48, 0xac, 0x6b, 0x32, 0x51, 0x14, 0x92, 0xe2, 0x25, 0x1f, 0x90, 0x26,
|
||||||
|
0x96, 0x16, 0x28, 0x4e, 0x49, 0x5c, 0x60, 0xdf, 0xc6, 0x2b, 0x1f, 0xc4, 0x27, 0x60, 0x3b, 0x4e,
|
||||||
|
0xc7, 0x36, 0x40, 0x68, 0x6f, 0xd7, 0xf7, 0x9c, 0xeb, 0x7b, 0xcf, 0x3d, 0x36, 0xec, 0xe7, 0x15,
|
||||||
|
0xe3, 0x59, 0xce, 0xbd, 0x75, 0x5d, 0xf1, 0x0a, 0xf5, 0xeb, 0x32, 0xaf, 0xf2, 0x0b, 0xca, 0xf1,
|
||||||
|
0xf7, 0x1e, 0x38, 0xb3, 0x16, 0x43, 0x23, 0xe8, 0x95, 0x85, 0x6b, 0x1c, 0x1b, 0x4f, 0x76, 0x89,
|
||||||
|
0x88, 0x90, 0x0b, 0x4e, 0x56, 0x14, 0x35, 0x6d, 0x1a, 0xb7, 0x27, 0x92, 0x03, 0xd2, 0x1d, 0xd1,
|
||||||
|
0x43, 0xe8, 0xb3, 0x32, 0xff, 0xc8, 0xb2, 0x4f, 0xd4, 0x35, 0x15, 0xb4, 0x3d, 0xa3, 0x63, 0x18,
|
||||||
|
0x7e, 0xbd, 0xa0, 0x6c, 0x56, 0xd3, 0x8c, 0xd3, 0xc2, 0xb5, 0x14, 0xfc, 0x7b, 0x0a, 0x3d, 0x82,
|
||||||
|
0xfd, 0x55, 0xd6, 0x70, 0xd1, 0x96, 0xd1, 0x5c, 0x72, 0x76, 0x15, 0xe7, 0x7a, 0x12, 0x4d, 0xc0,
|
||||||
|
0xa9, 0xe9, 0xe7, 0x0d, 0x6d, 0xb8, 0x6b, 0x0b, 0x7c, 0x38, 0x71, 0xbd, 0x6e, 0x6a, 0x4f, 0x4f,
|
||||||
|
0x4c, 0x5a, 0x9c, 0x74, 0x44, 0xf4, 0x1c, 0xec, 0x86, 0x67, 0x7c, 0xd3, 0xb8, 0x20, 0x4a, 0x46,
|
||||||
|
0x7f, 0x28, 0xf1, 0xce, 0x15, 0x4e, 0x34, 0x0f, 0xbf, 0x02, 0xbb, 0xcd, 0xa0, 0x21, 0x38, 0xf1,
|
||||||
|
0xd9, 0x59, 0x38, 0x8f, 0x82, 0xf1, 0x0e, 0x02, 0xb0, 0xe3, 0x48, 0xc5, 0x86, 0x04, 0x48, 0xf0,
|
||||||
|
0x3e, 0x0d, 0xce, 0x93, 0x71, 0x0f, 0xed, 0x41, 0x9f, 0x04, 0x6f, 0x83, 0x59, 0x12, 0xf8, 0x63,
|
||||||
|
0x13, 0xff, 0x30, 0x60, 0x74, 0x7d, 0x16, 0x74, 0x02, 0x83, 0xa2, 0xac, 0x85, 0x84, 0xb2, 0x62,
|
||||||
|
0x6a, 0x97, 0xa3, 0x09, 0xfe, 0xdb, 0xe0, 0x9e, 0xdf, 0x31, 0xc9, 0x55, 0xd1, 0x1d, 0xd7, 0x8e,
|
||||||
|
0xc0, 0xe2, 0xf4, 0x1b, 0xd7, 0xfb, 0x56, 0x31, 0x7e, 0x0c, 0x83, 0x6d, 0x07, 0x29, 0x63, 0x1e,
|
||||||
|
0x9d, 0xc6, 0x69, 0xe4, 0x0b, 0x7d, 0x42, 0x46, 0x9c, 0x26, 0xed, 0xc9, 0xc0, 0x2e, 0xdc, 0x7f,
|
||||||
|
0x57, 0xb1, 0x92, 0x57, 0xb5, 0x9e, 0xaf, 0xd1, 0x03, 0xe2, 0x9f, 0x06, 0xec, 0xe9, 0x5c, 0xf0,
|
||||||
|
0x85, 0x32, 0x8e, 0x9e, 0x89, 0x36, 0x97, 0x6b, 0xaa, 0x95, 0x1d, 0xdd, 0x52, 0xa6, 0x58, 0x5e,
|
||||||
|
0x22, 0x28, 0x44, 0x11, 0xd1, 0x53, 0x70, 0xf4, 0xdb, 0x53, 0x6a, 0x86, 0x93, 0x83, 0x5b, 0x35,
|
||||||
|
0x6f, 0x76, 0x48, 0xc7, 0x41, 0x2f, 0xaf, 0x5c, 0x37, 0xff, 0xed, 0xba, 0xac, 0xd2, 0x54, 0xfc,
|
||||||
|
0x1a, 0x2c, 0xd9, 0x12, 0xf5, 0xc1, 0x8a, 0xd2, 0x30, 0x6c, 0x05, 0x2e, 0xe2, 0x45, 0x1a, 0x4e,
|
||||||
|
0x13, 0x69, 0xa1, 0x03, 0xe6, 0xd4, 0xf7, 0x85, 0x7d, 0xc2, 0xd7, 0x74, 0xe1, 0xcb, 0xa4, 0x29,
|
||||||
|
0x63, 0x3f, 0x08, 0x03, 0x11, 0x5b, 0xa7, 0x03, 0x70, 0x9a, 0xcd, 0xf2, 0x83, 0x58, 0x15, 0x3e,
|
||||||
|
0x80, 0x7b, 0xd3, 0xa2, 0xd8, 0xf6, 0x5a, 0xaf, 0x2e, 0xf1, 0x09, 0x1c, 0xfa, 0x74, 0x45, 0x39,
|
||||||
|
0xbd, 0xe1, 0xf5, 0x7f, 0x7f, 0x18, 0x7c, 0x08, 0xe8, 0xc6, 0x0d, 0xf2, 0xde, 0x23, 0x78, 0x40,
|
||||||
|
0xa8, 0x6c, 0x3a, 0x67, 0xcb, 0x6a, 0xc3, 0x8a, 0xee, 0x3d, 0x4b, 0x70, 0x69, 0xab, 0xaf, 0xfa,
|
||||||
|
0xe2, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa1, 0xab, 0x53, 0xdb, 0xbb, 0x03, 0x00, 0x00,
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
package ricochet;
|
||||||
|
|
||||||
|
message Contact {
|
||||||
|
int32 id = 1;
|
||||||
|
string address = 2;
|
||||||
|
string nickname = 3;
|
||||||
|
string whenCreated = 4;
|
||||||
|
string lastConnected = 5;
|
||||||
|
ContactRequest request = 6;
|
||||||
|
|
||||||
|
enum Status {
|
||||||
|
OFFLINE = 0;
|
||||||
|
ONLINE = 1;
|
||||||
|
REQUEST = 2;
|
||||||
|
REJECTED = 3;
|
||||||
|
}
|
||||||
|
Status status = 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ContactRequest {
|
||||||
|
enum Direction {
|
||||||
|
INBOUND = 0;
|
||||||
|
OUTBOUND = 1;
|
||||||
|
}
|
||||||
|
Direction direction = 1;
|
||||||
|
string address = 2;
|
||||||
|
string nickname = 3;
|
||||||
|
string text = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message MonitorContactsRequest {
|
||||||
|
}
|
||||||
|
|
||||||
|
message ContactEvent {
|
||||||
|
enum Type {
|
||||||
|
NULL = 0;
|
||||||
|
POPULATE = 1;
|
||||||
|
ADD = 2;
|
||||||
|
UPDATE = 3;
|
||||||
|
DELETE = 4;
|
||||||
|
}
|
||||||
|
Type type = 1;
|
||||||
|
|
||||||
|
oneof subject {
|
||||||
|
Contact contact = 2;
|
||||||
|
ContactRequest request = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message AddContactReply {
|
||||||
|
}
|
||||||
|
|
||||||
|
message DeleteContactRequest {
|
||||||
|
int32 id = 1;
|
||||||
|
string address = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DeleteContactReply {
|
||||||
|
}
|
||||||
|
|
||||||
|
message RejectInboundRequestReply {
|
||||||
|
}
|
|
@ -0,0 +1,173 @@
|
||||||
|
// Code generated by protoc-gen-go.
|
||||||
|
// source: conversation.proto
|
||||||
|
// DO NOT EDIT!
|
||||||
|
|
||||||
|
package ricochet
|
||||||
|
|
||||||
|
import proto "github.com/golang/protobuf/proto"
|
||||||
|
import fmt "fmt"
|
||||||
|
import math "math"
|
||||||
|
|
||||||
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
var _ = proto.Marshal
|
||||||
|
var _ = fmt.Errorf
|
||||||
|
var _ = math.Inf
|
||||||
|
|
||||||
|
type ConversationEvent_Type int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
ConversationEvent_NULL ConversationEvent_Type = 0
|
||||||
|
ConversationEvent_POPULATE ConversationEvent_Type = 1
|
||||||
|
ConversationEvent_RECEIVE ConversationEvent_Type = 2
|
||||||
|
ConversationEvent_SEND ConversationEvent_Type = 3
|
||||||
|
ConversationEvent_UPDATE ConversationEvent_Type = 4
|
||||||
|
)
|
||||||
|
|
||||||
|
var ConversationEvent_Type_name = map[int32]string{
|
||||||
|
0: "NULL",
|
||||||
|
1: "POPULATE",
|
||||||
|
2: "RECEIVE",
|
||||||
|
3: "SEND",
|
||||||
|
4: "UPDATE",
|
||||||
|
}
|
||||||
|
var ConversationEvent_Type_value = map[string]int32{
|
||||||
|
"NULL": 0,
|
||||||
|
"POPULATE": 1,
|
||||||
|
"RECEIVE": 2,
|
||||||
|
"SEND": 3,
|
||||||
|
"UPDATE": 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x ConversationEvent_Type) String() string {
|
||||||
|
return proto.EnumName(ConversationEvent_Type_name, int32(x))
|
||||||
|
}
|
||||||
|
func (ConversationEvent_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 0} }
|
||||||
|
|
||||||
|
type Message_Status int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
Message_NULL Message_Status = 0
|
||||||
|
Message_RECEIVED Message_Status = 1
|
||||||
|
Message_QUEUED Message_Status = 2
|
||||||
|
Message_SENDING Message_Status = 3
|
||||||
|
Message_DELIVERED Message_Status = 4
|
||||||
|
Message_ERROR Message_Status = 5
|
||||||
|
)
|
||||||
|
|
||||||
|
var Message_Status_name = map[int32]string{
|
||||||
|
0: "NULL",
|
||||||
|
1: "RECEIVED",
|
||||||
|
2: "QUEUED",
|
||||||
|
3: "SENDING",
|
||||||
|
4: "DELIVERED",
|
||||||
|
5: "ERROR",
|
||||||
|
}
|
||||||
|
var Message_Status_value = map[string]int32{
|
||||||
|
"NULL": 0,
|
||||||
|
"RECEIVED": 1,
|
||||||
|
"QUEUED": 2,
|
||||||
|
"SENDING": 3,
|
||||||
|
"DELIVERED": 4,
|
||||||
|
"ERROR": 5,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x Message_Status) String() string {
|
||||||
|
return proto.EnumName(Message_Status_name, int32(x))
|
||||||
|
}
|
||||||
|
func (Message_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2, 0} }
|
||||||
|
|
||||||
|
type ConversationEvent struct {
|
||||||
|
Type ConversationEvent_Type `protobuf:"varint,1,opt,name=type,enum=ricochet.ConversationEvent_Type" json:"type,omitempty"`
|
||||||
|
Msg *Message `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ConversationEvent) Reset() { *m = ConversationEvent{} }
|
||||||
|
func (m *ConversationEvent) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*ConversationEvent) ProtoMessage() {}
|
||||||
|
func (*ConversationEvent) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
|
||||||
|
|
||||||
|
func (m *ConversationEvent) GetMsg() *Message {
|
||||||
|
if m != nil {
|
||||||
|
return m.Msg
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type Entity struct {
|
||||||
|
// null is self
|
||||||
|
ContactId int32 `protobuf:"varint,1,opt,name=contactId" json:"contactId,omitempty"`
|
||||||
|
Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Entity) Reset() { *m = Entity{} }
|
||||||
|
func (m *Entity) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*Entity) ProtoMessage() {}
|
||||||
|
func (*Entity) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
|
||||||
|
|
||||||
|
type Message struct {
|
||||||
|
Sender *Entity `protobuf:"bytes,1,opt,name=sender" json:"sender,omitempty"`
|
||||||
|
Recipient *Entity `protobuf:"bytes,2,opt,name=recipient" json:"recipient,omitempty"`
|
||||||
|
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
|
||||||
|
// Identifiers are unique _only_ to a sender/recipient pair in a session
|
||||||
|
// XXX This is a silly thing to perpetuate; should we UUID?
|
||||||
|
Identifier uint32 `protobuf:"varint,4,opt,name=identifier" json:"identifier,omitempty"`
|
||||||
|
Status Message_Status `protobuf:"varint,5,opt,name=status,enum=ricochet.Message_Status" json:"status,omitempty"`
|
||||||
|
Text string `protobuf:"bytes,6,opt,name=text" json:"text,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Message) Reset() { *m = Message{} }
|
||||||
|
func (m *Message) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*Message) ProtoMessage() {}
|
||||||
|
func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
|
||||||
|
|
||||||
|
func (m *Message) GetSender() *Entity {
|
||||||
|
if m != nil {
|
||||||
|
return m.Sender
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Message) GetRecipient() *Entity {
|
||||||
|
if m != nil {
|
||||||
|
return m.Recipient
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterType((*ConversationEvent)(nil), "ricochet.ConversationEvent")
|
||||||
|
proto.RegisterType((*Entity)(nil), "ricochet.Entity")
|
||||||
|
proto.RegisterType((*Message)(nil), "ricochet.Message")
|
||||||
|
proto.RegisterEnum("ricochet.ConversationEvent_Type", ConversationEvent_Type_name, ConversationEvent_Type_value)
|
||||||
|
proto.RegisterEnum("ricochet.Message_Status", Message_Status_name, Message_Status_value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { proto.RegisterFile("conversation.proto", fileDescriptor2) }
|
||||||
|
|
||||||
|
var fileDescriptor2 = []byte{
|
||||||
|
// 378 bytes of a gzipped FileDescriptorProto
|
||||||
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x64, 0x92, 0x4d, 0xef, 0xd2, 0x40,
|
||||||
|
0x10, 0xc6, 0xed, 0x2b, 0x74, 0x10, 0x53, 0xe6, 0xd4, 0x83, 0x31, 0xa4, 0x5e, 0x38, 0x35, 0x06,
|
||||||
|
0xfd, 0x00, 0x12, 0xba, 0x31, 0x24, 0x15, 0x70, 0xa1, 0xde, 0x6b, 0xbb, 0xe2, 0x1e, 0x68, 0x9b,
|
||||||
|
0x76, 0x25, 0xf2, 0xb1, 0xbc, 0xfb, 0xe1, 0x9c, 0x2e, 0x25, 0xe5, 0x1f, 0x6e, 0xdb, 0x79, 0x7e,
|
||||||
|
0xd3, 0x79, 0xe6, 0xd9, 0x05, 0xcc, 0xab, 0xf2, 0x22, 0x9a, 0x36, 0x53, 0xb2, 0x2a, 0xa3, 0xba,
|
||||||
|
0xa9, 0x54, 0x85, 0xe3, 0x46, 0xe6, 0x55, 0xfe, 0x4b, 0xa8, 0xf0, 0xaf, 0x01, 0xb3, 0xf5, 0x03,
|
||||||
|
0xc0, 0x2e, 0xa2, 0x54, 0xf8, 0x09, 0x6c, 0x75, 0xad, 0x45, 0x60, 0xcc, 0x8d, 0xc5, 0x9b, 0xe5,
|
||||||
|
0x3c, 0xba, 0xe3, 0xd1, 0x13, 0x1a, 0x1d, 0x89, 0xe3, 0x9a, 0xc6, 0xf7, 0x60, 0x9d, 0xdb, 0x53,
|
||||||
|
0x60, 0x52, 0xd3, 0x64, 0x39, 0x1b, 0x9a, 0xbe, 0x8a, 0xb6, 0xcd, 0x4e, 0x82, 0x77, 0x6a, 0xb8,
|
||||||
|
0x02, 0xbb, 0x6b, 0xc1, 0x31, 0xd8, 0xdb, 0x34, 0x49, 0xfc, 0x57, 0xf8, 0x1a, 0xc6, 0xfb, 0xdd,
|
||||||
|
0x3e, 0x4d, 0x56, 0x47, 0xe6, 0x1b, 0x38, 0x81, 0x11, 0x67, 0x6b, 0xb6, 0xf9, 0xce, 0x7c, 0xb3,
|
||||||
|
0x83, 0x0e, 0x6c, 0x1b, 0xfb, 0x16, 0x02, 0xb8, 0xe9, 0x3e, 0xee, 0x10, 0x3b, 0xfc, 0x0c, 0x2e,
|
||||||
|
0x2b, 0x95, 0x54, 0x57, 0x7c, 0x0b, 0x1e, 0x6d, 0xa7, 0xb2, 0x5c, 0x6d, 0x0a, 0x6d, 0xd6, 0xe1,
|
||||||
|
0x43, 0x01, 0x03, 0x18, 0x65, 0x45, 0xd1, 0xd0, 0x74, 0xed, 0xc9, 0xe3, 0xf7, 0xcf, 0xf0, 0x9f,
|
||||||
|
0x09, 0xa3, 0xde, 0x15, 0x2e, 0xc0, 0x6d, 0x45, 0x59, 0x88, 0x46, 0xff, 0x60, 0xb2, 0xf4, 0x07,
|
||||||
|
0xe3, 0xb7, 0x29, 0xbc, 0xd7, 0x31, 0x02, 0xaf, 0x11, 0xb9, 0xac, 0x25, 0xed, 0xdd, 0x6f, 0xf9,
|
||||||
|
0x0c, 0x0f, 0x48, 0xe7, 0x4e, 0xc9, 0xb3, 0x68, 0x55, 0x76, 0xae, 0x03, 0x8b, 0x78, 0x8b, 0x0f,
|
||||||
|
0x05, 0x7c, 0x07, 0x20, 0x0b, 0xc2, 0xe4, 0x4f, 0x49, 0xb3, 0x6d, 0x92, 0xa7, 0xfc, 0xa1, 0x82,
|
||||||
|
0x1f, 0xc8, 0x97, 0xca, 0xd4, 0xef, 0x36, 0x70, 0xf4, 0x2d, 0x04, 0x4f, 0x81, 0x46, 0x07, 0xad,
|
||||||
|
0xf3, 0x9e, 0x43, 0xa4, 0x5b, 0x13, 0x7f, 0x54, 0xe0, 0xea, 0x65, 0xf5, 0x39, 0x3c, 0x80, 0x7b,
|
||||||
|
0xa3, 0x5e, 0x06, 0xde, 0x47, 0x1c, 0x53, 0xe0, 0x94, 0xec, 0xb7, 0x94, 0xa5, 0x74, 0x36, 0xbb,
|
||||||
|
0xf0, 0xbb, 0xbc, 0x37, 0xdb, 0x2f, 0x14, 0xf9, 0x14, 0xbc, 0x98, 0x25, 0x44, 0x71, 0xd2, 0x6c,
|
||||||
|
0xf4, 0xc0, 0x61, 0x9c, 0xef, 0xb8, 0xef, 0xfc, 0x70, 0xf5, 0x2b, 0xfa, 0xf8, 0x3f, 0x00, 0x00,
|
||||||
|
0xff, 0xff, 0xe1, 0x5b, 0xde, 0x0a, 0x5b, 0x02, 0x00, 0x00,
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
package ricochet;
|
||||||
|
|
||||||
|
message ConversationEvent {
|
||||||
|
enum Type {
|
||||||
|
NULL = 0;
|
||||||
|
POPULATE = 1;
|
||||||
|
RECEIVE = 2;
|
||||||
|
SEND = 3;
|
||||||
|
UPDATE = 4;
|
||||||
|
}
|
||||||
|
Type type = 1;
|
||||||
|
|
||||||
|
Message msg = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Entity {
|
||||||
|
// null is self
|
||||||
|
int32 contactId = 1;
|
||||||
|
string address = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Message {
|
||||||
|
Entity sender = 1;
|
||||||
|
Entity recipient = 2;
|
||||||
|
int64 timestamp = 3;
|
||||||
|
// Identifiers are unique _only_ to a sender/recipient pair in a session
|
||||||
|
// XXX This is a silly thing to perpetuate; should we UUID?
|
||||||
|
uint32 identifier = 4;
|
||||||
|
|
||||||
|
enum Status {
|
||||||
|
NULL = 0;
|
||||||
|
RECEIVED = 1;
|
||||||
|
QUEUED = 2;
|
||||||
|
SENDING = 3;
|
||||||
|
DELIVERED = 4;
|
||||||
|
ERROR = 5;
|
||||||
|
}
|
||||||
|
Status status = 5;
|
||||||
|
|
||||||
|
string text = 6;
|
||||||
|
}
|
||||||
|
|
426
rpc/core.pb.go
426
rpc/core.pb.go
|
@ -2,24 +2,6 @@
|
||||||
// source: core.proto
|
// source: core.proto
|
||||||
// DO NOT EDIT!
|
// DO NOT EDIT!
|
||||||
|
|
||||||
/*
|
|
||||||
Package ricochet is a generated protocol buffer package.
|
|
||||||
|
|
||||||
It is generated from these files:
|
|
||||||
core.proto
|
|
||||||
network.proto
|
|
||||||
|
|
||||||
It has these top-level messages:
|
|
||||||
ServerStatusRequest
|
|
||||||
ServerStatusReply
|
|
||||||
MonitorNetworkRequest
|
|
||||||
TorProcessStatus
|
|
||||||
TorControlStatus
|
|
||||||
TorConnectionStatus
|
|
||||||
NetworkStatus
|
|
||||||
StartNetworkRequest
|
|
||||||
StopNetworkRequest
|
|
||||||
*/
|
|
||||||
package ricochet
|
package ricochet
|
||||||
|
|
||||||
import proto "github.com/golang/protobuf/proto"
|
import proto "github.com/golang/protobuf/proto"
|
||||||
|
@ -36,12 +18,6 @@ var _ = proto.Marshal
|
||||||
var _ = fmt.Errorf
|
var _ = fmt.Errorf
|
||||||
var _ = math.Inf
|
var _ = math.Inf
|
||||||
|
|
||||||
// This is a compile-time assertion to ensure that this generated file
|
|
||||||
// is compatible with the proto package it is being compiled against.
|
|
||||||
// A compilation error at this line likely means your copy of the
|
|
||||||
// proto package needs to be updated.
|
|
||||||
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
|
|
||||||
|
|
||||||
type ServerStatusRequest struct {
|
type ServerStatusRequest struct {
|
||||||
RpcVersion int32 `protobuf:"varint,1,opt,name=rpcVersion" json:"rpcVersion,omitempty"`
|
RpcVersion int32 `protobuf:"varint,1,opt,name=rpcVersion" json:"rpcVersion,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -49,7 +25,7 @@ type ServerStatusRequest struct {
|
||||||
func (m *ServerStatusRequest) Reset() { *m = ServerStatusRequest{} }
|
func (m *ServerStatusRequest) Reset() { *m = ServerStatusRequest{} }
|
||||||
func (m *ServerStatusRequest) String() string { return proto.CompactTextString(m) }
|
func (m *ServerStatusRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ServerStatusRequest) ProtoMessage() {}
|
func (*ServerStatusRequest) ProtoMessage() {}
|
||||||
func (*ServerStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
|
func (*ServerStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
|
||||||
|
|
||||||
type ServerStatusReply struct {
|
type ServerStatusReply struct {
|
||||||
RpcVersion int32 `protobuf:"varint,1,opt,name=rpcVersion" json:"rpcVersion,omitempty"`
|
RpcVersion int32 `protobuf:"varint,1,opt,name=rpcVersion" json:"rpcVersion,omitempty"`
|
||||||
|
@ -59,7 +35,7 @@ type ServerStatusReply struct {
|
||||||
func (m *ServerStatusReply) Reset() { *m = ServerStatusReply{} }
|
func (m *ServerStatusReply) Reset() { *m = ServerStatusReply{} }
|
||||||
func (m *ServerStatusReply) String() string { return proto.CompactTextString(m) }
|
func (m *ServerStatusReply) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ServerStatusReply) ProtoMessage() {}
|
func (*ServerStatusReply) ProtoMessage() {}
|
||||||
func (*ServerStatusReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
|
func (*ServerStatusReply) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterType((*ServerStatusRequest)(nil), "ricochet.ServerStatusRequest")
|
proto.RegisterType((*ServerStatusRequest)(nil), "ricochet.ServerStatusRequest")
|
||||||
|
@ -77,10 +53,31 @@ const _ = grpc.SupportPackageIsVersion3
|
||||||
// Client API for RicochetCore service
|
// Client API for RicochetCore service
|
||||||
|
|
||||||
type RicochetCoreClient interface {
|
type RicochetCoreClient interface {
|
||||||
|
// Query RPC server version and status
|
||||||
GetServerStatus(ctx context.Context, in *ServerStatusRequest, opts ...grpc.CallOption) (*ServerStatusReply, error)
|
GetServerStatus(ctx context.Context, in *ServerStatusRequest, opts ...grpc.CallOption) (*ServerStatusReply, error)
|
||||||
|
// Open a stream to monitor changes to network status. The current
|
||||||
|
// NetworkStatus will be sent immediately, and the stream will receive a
|
||||||
|
// new NetworkStatus after any changes until the stream is closed.
|
||||||
MonitorNetwork(ctx context.Context, in *MonitorNetworkRequest, opts ...grpc.CallOption) (RicochetCore_MonitorNetworkClient, error)
|
MonitorNetwork(ctx context.Context, in *MonitorNetworkRequest, opts ...grpc.CallOption) (RicochetCore_MonitorNetworkClient, error)
|
||||||
|
// Start connecting to the network. Before StartNetwork is called (by any
|
||||||
|
// client), the backend will not make any connections or appear online.
|
||||||
|
// This call blocks until the first connection attempt succeeds or fails,
|
||||||
|
// and returns the current network status, but connection attempts will
|
||||||
|
// continue unless this call returns an RPC error, or until StopNetwork
|
||||||
|
// is called.
|
||||||
StartNetwork(ctx context.Context, in *StartNetworkRequest, opts ...grpc.CallOption) (*NetworkStatus, error)
|
StartNetwork(ctx context.Context, in *StartNetworkRequest, opts ...grpc.CallOption) (*NetworkStatus, error)
|
||||||
|
// Stop all network connections and go offline. Blocks until the network
|
||||||
|
// has been taken offline, and returns the new network status.
|
||||||
StopNetwork(ctx context.Context, in *StopNetworkRequest, opts ...grpc.CallOption) (*NetworkStatus, error)
|
StopNetwork(ctx context.Context, in *StopNetworkRequest, opts ...grpc.CallOption) (*NetworkStatus, error)
|
||||||
|
// XXX Service status
|
||||||
|
GetIdentity(ctx context.Context, in *IdentityRequest, opts ...grpc.CallOption) (*Identity, error)
|
||||||
|
MonitorContacts(ctx context.Context, in *MonitorContactsRequest, opts ...grpc.CallOption) (RicochetCore_MonitorContactsClient, error)
|
||||||
|
AddContactRequest(ctx context.Context, in *ContactRequest, opts ...grpc.CallOption) (*Contact, error)
|
||||||
|
UpdateContact(ctx context.Context, in *Contact, opts ...grpc.CallOption) (*Contact, error)
|
||||||
|
DeleteContact(ctx context.Context, in *DeleteContactRequest, opts ...grpc.CallOption) (*DeleteContactReply, error)
|
||||||
|
AcceptInboundRequest(ctx context.Context, in *ContactRequest, opts ...grpc.CallOption) (*Contact, error)
|
||||||
|
RejectInboundRequest(ctx context.Context, in *ContactRequest, opts ...grpc.CallOption) (*RejectInboundRequestReply, error)
|
||||||
|
StreamConversations(ctx context.Context, opts ...grpc.CallOption) (RicochetCore_StreamConversationsClient, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type ricochetCoreClient struct {
|
type ricochetCoreClient struct {
|
||||||
|
@ -150,13 +147,151 @@ func (c *ricochetCoreClient) StopNetwork(ctx context.Context, in *StopNetworkReq
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) GetIdentity(ctx context.Context, in *IdentityRequest, opts ...grpc.CallOption) (*Identity, error) {
|
||||||
|
out := new(Identity)
|
||||||
|
err := grpc.Invoke(ctx, "/ricochet.RicochetCore/GetIdentity", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) MonitorContacts(ctx context.Context, in *MonitorContactsRequest, opts ...grpc.CallOption) (RicochetCore_MonitorContactsClient, error) {
|
||||||
|
stream, err := grpc.NewClientStream(ctx, &_RicochetCore_serviceDesc.Streams[1], c.cc, "/ricochet.RicochetCore/MonitorContacts", opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
x := &ricochetCoreMonitorContactsClient{stream}
|
||||||
|
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if err := x.ClientStream.CloseSend(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return x, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type RicochetCore_MonitorContactsClient interface {
|
||||||
|
Recv() (*ContactEvent, error)
|
||||||
|
grpc.ClientStream
|
||||||
|
}
|
||||||
|
|
||||||
|
type ricochetCoreMonitorContactsClient struct {
|
||||||
|
grpc.ClientStream
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ricochetCoreMonitorContactsClient) Recv() (*ContactEvent, error) {
|
||||||
|
m := new(ContactEvent)
|
||||||
|
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) AddContactRequest(ctx context.Context, in *ContactRequest, opts ...grpc.CallOption) (*Contact, error) {
|
||||||
|
out := new(Contact)
|
||||||
|
err := grpc.Invoke(ctx, "/ricochet.RicochetCore/AddContactRequest", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) UpdateContact(ctx context.Context, in *Contact, opts ...grpc.CallOption) (*Contact, error) {
|
||||||
|
out := new(Contact)
|
||||||
|
err := grpc.Invoke(ctx, "/ricochet.RicochetCore/UpdateContact", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) DeleteContact(ctx context.Context, in *DeleteContactRequest, opts ...grpc.CallOption) (*DeleteContactReply, error) {
|
||||||
|
out := new(DeleteContactReply)
|
||||||
|
err := grpc.Invoke(ctx, "/ricochet.RicochetCore/DeleteContact", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) AcceptInboundRequest(ctx context.Context, in *ContactRequest, opts ...grpc.CallOption) (*Contact, error) {
|
||||||
|
out := new(Contact)
|
||||||
|
err := grpc.Invoke(ctx, "/ricochet.RicochetCore/AcceptInboundRequest", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) RejectInboundRequest(ctx context.Context, in *ContactRequest, opts ...grpc.CallOption) (*RejectInboundRequestReply, error) {
|
||||||
|
out := new(RejectInboundRequestReply)
|
||||||
|
err := grpc.Invoke(ctx, "/ricochet.RicochetCore/RejectInboundRequest", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ricochetCoreClient) StreamConversations(ctx context.Context, opts ...grpc.CallOption) (RicochetCore_StreamConversationsClient, error) {
|
||||||
|
stream, err := grpc.NewClientStream(ctx, &_RicochetCore_serviceDesc.Streams[2], c.cc, "/ricochet.RicochetCore/StreamConversations", opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
x := &ricochetCoreStreamConversationsClient{stream}
|
||||||
|
return x, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type RicochetCore_StreamConversationsClient interface {
|
||||||
|
Send(*ConversationEvent) error
|
||||||
|
Recv() (*ConversationEvent, error)
|
||||||
|
grpc.ClientStream
|
||||||
|
}
|
||||||
|
|
||||||
|
type ricochetCoreStreamConversationsClient struct {
|
||||||
|
grpc.ClientStream
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ricochetCoreStreamConversationsClient) Send(m *ConversationEvent) error {
|
||||||
|
return x.ClientStream.SendMsg(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ricochetCoreStreamConversationsClient) Recv() (*ConversationEvent, error) {
|
||||||
|
m := new(ConversationEvent)
|
||||||
|
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
|
|
||||||
// Server API for RicochetCore service
|
// Server API for RicochetCore service
|
||||||
|
|
||||||
type RicochetCoreServer interface {
|
type RicochetCoreServer interface {
|
||||||
|
// Query RPC server version and status
|
||||||
GetServerStatus(context.Context, *ServerStatusRequest) (*ServerStatusReply, error)
|
GetServerStatus(context.Context, *ServerStatusRequest) (*ServerStatusReply, error)
|
||||||
|
// Open a stream to monitor changes to network status. The current
|
||||||
|
// NetworkStatus will be sent immediately, and the stream will receive a
|
||||||
|
// new NetworkStatus after any changes until the stream is closed.
|
||||||
MonitorNetwork(*MonitorNetworkRequest, RicochetCore_MonitorNetworkServer) error
|
MonitorNetwork(*MonitorNetworkRequest, RicochetCore_MonitorNetworkServer) error
|
||||||
|
// Start connecting to the network. Before StartNetwork is called (by any
|
||||||
|
// client), the backend will not make any connections or appear online.
|
||||||
|
// This call blocks until the first connection attempt succeeds or fails,
|
||||||
|
// and returns the current network status, but connection attempts will
|
||||||
|
// continue unless this call returns an RPC error, or until StopNetwork
|
||||||
|
// is called.
|
||||||
StartNetwork(context.Context, *StartNetworkRequest) (*NetworkStatus, error)
|
StartNetwork(context.Context, *StartNetworkRequest) (*NetworkStatus, error)
|
||||||
|
// Stop all network connections and go offline. Blocks until the network
|
||||||
|
// has been taken offline, and returns the new network status.
|
||||||
StopNetwork(context.Context, *StopNetworkRequest) (*NetworkStatus, error)
|
StopNetwork(context.Context, *StopNetworkRequest) (*NetworkStatus, error)
|
||||||
|
// XXX Service status
|
||||||
|
GetIdentity(context.Context, *IdentityRequest) (*Identity, error)
|
||||||
|
MonitorContacts(*MonitorContactsRequest, RicochetCore_MonitorContactsServer) error
|
||||||
|
AddContactRequest(context.Context, *ContactRequest) (*Contact, error)
|
||||||
|
UpdateContact(context.Context, *Contact) (*Contact, error)
|
||||||
|
DeleteContact(context.Context, *DeleteContactRequest) (*DeleteContactReply, error)
|
||||||
|
AcceptInboundRequest(context.Context, *ContactRequest) (*Contact, error)
|
||||||
|
RejectInboundRequest(context.Context, *ContactRequest) (*RejectInboundRequestReply, error)
|
||||||
|
StreamConversations(RicochetCore_StreamConversationsServer) error
|
||||||
}
|
}
|
||||||
|
|
||||||
func RegisterRicochetCoreServer(s *grpc.Server, srv RicochetCoreServer) {
|
func RegisterRicochetCoreServer(s *grpc.Server, srv RicochetCoreServer) {
|
||||||
|
@ -238,6 +373,161 @@ func _RicochetCore_StopNetwork_Handler(srv interface{}, ctx context.Context, dec
|
||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_GetIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(IdentityRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RicochetCoreServer).GetIdentity(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/ricochet.RicochetCore/GetIdentity",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RicochetCoreServer).GetIdentity(ctx, req.(*IdentityRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_MonitorContacts_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||||
|
m := new(MonitorContactsRequest)
|
||||||
|
if err := stream.RecvMsg(m); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return srv.(RicochetCoreServer).MonitorContacts(m, &ricochetCoreMonitorContactsServer{stream})
|
||||||
|
}
|
||||||
|
|
||||||
|
type RicochetCore_MonitorContactsServer interface {
|
||||||
|
Send(*ContactEvent) error
|
||||||
|
grpc.ServerStream
|
||||||
|
}
|
||||||
|
|
||||||
|
type ricochetCoreMonitorContactsServer struct {
|
||||||
|
grpc.ServerStream
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ricochetCoreMonitorContactsServer) Send(m *ContactEvent) error {
|
||||||
|
return x.ServerStream.SendMsg(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_AddContactRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(ContactRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RicochetCoreServer).AddContactRequest(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/ricochet.RicochetCore/AddContactRequest",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RicochetCoreServer).AddContactRequest(ctx, req.(*ContactRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_UpdateContact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(Contact)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RicochetCoreServer).UpdateContact(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/ricochet.RicochetCore/UpdateContact",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RicochetCoreServer).UpdateContact(ctx, req.(*Contact))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_DeleteContact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(DeleteContactRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RicochetCoreServer).DeleteContact(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/ricochet.RicochetCore/DeleteContact",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RicochetCoreServer).DeleteContact(ctx, req.(*DeleteContactRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_AcceptInboundRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(ContactRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RicochetCoreServer).AcceptInboundRequest(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/ricochet.RicochetCore/AcceptInboundRequest",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RicochetCoreServer).AcceptInboundRequest(ctx, req.(*ContactRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_RejectInboundRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(ContactRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RicochetCoreServer).RejectInboundRequest(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/ricochet.RicochetCore/RejectInboundRequest",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RicochetCoreServer).RejectInboundRequest(ctx, req.(*ContactRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _RicochetCore_StreamConversations_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||||
|
return srv.(RicochetCoreServer).StreamConversations(&ricochetCoreStreamConversationsServer{stream})
|
||||||
|
}
|
||||||
|
|
||||||
|
type RicochetCore_StreamConversationsServer interface {
|
||||||
|
Send(*ConversationEvent) error
|
||||||
|
Recv() (*ConversationEvent, error)
|
||||||
|
grpc.ServerStream
|
||||||
|
}
|
||||||
|
|
||||||
|
type ricochetCoreStreamConversationsServer struct {
|
||||||
|
grpc.ServerStream
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ricochetCoreStreamConversationsServer) Send(m *ConversationEvent) error {
|
||||||
|
return x.ServerStream.SendMsg(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ricochetCoreStreamConversationsServer) Recv() (*ConversationEvent, error) {
|
||||||
|
m := new(ConversationEvent)
|
||||||
|
if err := x.ServerStream.RecvMsg(m); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
|
|
||||||
var _RicochetCore_serviceDesc = grpc.ServiceDesc{
|
var _RicochetCore_serviceDesc = grpc.ServiceDesc{
|
||||||
ServiceName: "ricochet.RicochetCore",
|
ServiceName: "ricochet.RicochetCore",
|
||||||
HandlerType: (*RicochetCoreServer)(nil),
|
HandlerType: (*RicochetCoreServer)(nil),
|
||||||
|
@ -254,6 +544,30 @@ var _RicochetCore_serviceDesc = grpc.ServiceDesc{
|
||||||
MethodName: "StopNetwork",
|
MethodName: "StopNetwork",
|
||||||
Handler: _RicochetCore_StopNetwork_Handler,
|
Handler: _RicochetCore_StopNetwork_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "GetIdentity",
|
||||||
|
Handler: _RicochetCore_GetIdentity_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "AddContactRequest",
|
||||||
|
Handler: _RicochetCore_AddContactRequest_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "UpdateContact",
|
||||||
|
Handler: _RicochetCore_UpdateContact_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "DeleteContact",
|
||||||
|
Handler: _RicochetCore_DeleteContact_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "AcceptInboundRequest",
|
||||||
|
Handler: _RicochetCore_AcceptInboundRequest_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "RejectInboundRequest",
|
||||||
|
Handler: _RicochetCore_RejectInboundRequest_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc.StreamDesc{
|
Streams: []grpc.StreamDesc{
|
||||||
{
|
{
|
||||||
|
@ -261,27 +575,49 @@ var _RicochetCore_serviceDesc = grpc.ServiceDesc{
|
||||||
Handler: _RicochetCore_MonitorNetwork_Handler,
|
Handler: _RicochetCore_MonitorNetwork_Handler,
|
||||||
ServerStreams: true,
|
ServerStreams: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
StreamName: "MonitorContacts",
|
||||||
|
Handler: _RicochetCore_MonitorContacts_Handler,
|
||||||
|
ServerStreams: true,
|
||||||
},
|
},
|
||||||
Metadata: fileDescriptor0,
|
{
|
||||||
|
StreamName: "StreamConversations",
|
||||||
|
Handler: _RicochetCore_StreamConversations_Handler,
|
||||||
|
ServerStreams: true,
|
||||||
|
ClientStreams: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Metadata: fileDescriptor3,
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { proto.RegisterFile("core.proto", fileDescriptor0) }
|
func init() { proto.RegisterFile("core.proto", fileDescriptor3) }
|
||||||
|
|
||||||
var fileDescriptor0 = []byte{
|
var fileDescriptor3 = []byte{
|
||||||
// 236 bytes of a gzipped FileDescriptorProto
|
// 414 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xe2, 0x4a, 0xce, 0x2f, 0x4a,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0x41, 0xaf, 0xd2, 0x40,
|
||||||
0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x28, 0xca, 0x4c, 0xce, 0x4f, 0xce, 0x48, 0x2d,
|
0x10, 0x4e, 0x4d, 0x24, 0x3a, 0x50, 0x0c, 0x2b, 0x51, 0x2c, 0x88, 0x04, 0x3d, 0x70, 0x22, 0x44,
|
||||||
0x91, 0xe2, 0xcd, 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0x86, 0x48, 0x28, 0x99, 0x72, 0x09, 0x07,
|
0xc3, 0xcd, 0x83, 0xa4, 0xa8, 0x21, 0x11, 0x0f, 0x6d, 0x30, 0xf1, 0x58, 0xb6, 0x93, 0x58, 0xc5,
|
||||||
0xa7, 0x16, 0x95, 0xa5, 0x16, 0x05, 0x97, 0x24, 0x96, 0x94, 0x16, 0x07, 0xa5, 0x16, 0x96, 0xa6,
|
0x6e, 0xdd, 0x0e, 0x18, 0x7e, 0xfd, 0x7b, 0x0b, 0xdd, 0xa5, 0x6d, 0x0a, 0x8f, 0x97, 0x77, 0x63,
|
||||||
0x16, 0x97, 0x08, 0xc9, 0x71, 0x71, 0x15, 0x15, 0x24, 0x87, 0xa5, 0x16, 0x15, 0x67, 0xe6, 0xe7,
|
0xbf, 0xef, 0x9b, 0x6f, 0x67, 0x3e, 0x66, 0x0b, 0xc0, 0x85, 0xc4, 0x71, 0x22, 0x05, 0x09, 0xf6,
|
||||||
0x49, 0x30, 0x2a, 0x30, 0x6a, 0xb0, 0x06, 0x21, 0x89, 0x28, 0x45, 0x72, 0x09, 0xa2, 0x6a, 0x2b,
|
0x44, 0x46, 0x5c, 0xf0, 0x5f, 0x48, 0x8e, 0x1d, 0x23, 0xfd, 0x17, 0xf2, 0x4f, 0x46, 0x38, 0xcd,
|
||||||
0xc8, 0xa9, 0x24, 0xa4, 0x49, 0x48, 0x85, 0x8b, 0xb7, 0x18, 0xac, 0x09, 0xa6, 0x84, 0x09, 0xa8,
|
0x28, 0xc4, 0x98, 0x22, 0xda, 0xeb, 0xb3, 0xcd, 0x45, 0x4c, 0x01, 0x27, 0x7d, 0x64, 0xea, 0xb8,
|
||||||
0x84, 0x33, 0x08, 0x55, 0xd0, 0x68, 0x27, 0x13, 0x17, 0x4f, 0x10, 0xd4, 0xb5, 0xce, 0x40, 0x1f,
|
0x43, 0x99, 0x06, 0x14, 0x89, 0x38, 0xc3, 0x86, 0x53, 0x78, 0xee, 0xa3, 0x54, 0xa8, 0x4f, 0x01,
|
||||||
0x08, 0xf9, 0x72, 0xf1, 0xbb, 0xa7, 0x96, 0x20, 0x5b, 0x27, 0x24, 0xab, 0x07, 0xf3, 0x8f, 0x1e,
|
0x6d, 0x53, 0x0f, 0xff, 0x6d, 0x31, 0x25, 0xd6, 0x07, 0x90, 0x09, 0xff, 0xa1, 0xc4, 0x4a, 0xda,
|
||||||
0x16, 0xd7, 0x4b, 0x49, 0xe3, 0x92, 0x06, 0xb9, 0xd2, 0x87, 0x8b, 0xcf, 0x37, 0x3f, 0x2f, 0xb3,
|
0xb1, 0x06, 0xd6, 0xe8, 0xb1, 0x57, 0x40, 0x86, 0x3f, 0xa1, 0x55, 0x2e, 0x4b, 0x36, 0xfb, 0x6b,
|
||||||
0x24, 0xbf, 0xc8, 0x0f, 0x12, 0x12, 0x42, 0xf2, 0x08, 0xe5, 0xa8, 0x32, 0x30, 0xf3, 0xc4, 0x11,
|
0x45, 0xec, 0x1d, 0xd8, 0xe9, 0xb1, 0xc8, 0x48, 0x1e, 0x29, 0xc9, 0x53, 0xaf, 0x0c, 0xbe, 0xbf,
|
||||||
0x0a, 0xa0, 0x32, 0x10, 0x03, 0x0d, 0x18, 0x85, 0xdc, 0xb8, 0x78, 0x80, 0xec, 0xa2, 0x12, 0x98,
|
0xa9, 0x41, 0xc3, 0xd3, 0x03, 0xba, 0x6a, 0x68, 0xb6, 0x84, 0x67, 0x5f, 0x91, 0x8a, 0xd7, 0xb1,
|
||||||
0x59, 0xc8, 0x2e, 0x43, 0x12, 0x27, 0x64, 0x92, 0x90, 0x0b, 0x17, 0x77, 0x70, 0x49, 0x7e, 0x01,
|
0xd7, 0x63, 0x13, 0xc1, 0xf8, 0x4c, 0xf7, 0x4e, 0xf7, 0x12, 0x7d, 0xe8, 0xf2, 0x1b, 0x34, 0x97,
|
||||||
0xcc, 0x18, 0x19, 0x64, 0x63, 0xe0, 0xc2, 0x84, 0x4c, 0x49, 0x62, 0x03, 0x47, 0xaa, 0x31, 0x20,
|
0x22, 0x8e, 0x48, 0xc8, 0xef, 0x59, 0x78, 0xec, 0x4d, 0x2e, 0x2f, 0x33, 0xc6, 0xef, 0x65, 0x2e,
|
||||||
0x00, 0x00, 0xff, 0xff, 0x19, 0x90, 0x5f, 0x9e, 0xfb, 0x01, 0x00, 0x00,
|
0xd0, 0x4c, 0x66, 0x38, 0xb1, 0xd8, 0x17, 0x68, 0xa8, 0xdf, 0x92, 0x8c, 0x57, 0xb1, 0xb3, 0x02,
|
||||||
|
0x7e, 0xcd, 0x89, 0xcd, 0xa1, 0xee, 0x93, 0x48, 0x8c, 0x4d, 0xaf, 0x68, 0x73, 0x82, 0xaf, 0xba,
|
||||||
|
0x7c, 0x84, 0xba, 0x8a, 0x6a, 0xa1, 0xb7, 0x80, 0xbd, 0xca, 0x75, 0x06, 0x33, 0x16, 0xac, 0x4a,
|
||||||
|
0x1d, 0x82, 0xd6, 0xf3, 0xbb, 0xd9, 0xde, 0xa4, 0x6c, 0x50, 0x89, 0xc6, 0x50, 0xc6, 0xe8, 0x45,
|
||||||
|
0xae, 0xd0, 0xd4, 0xe7, 0x9d, 0xf2, 0x53, 0xd1, 0x7c, 0x82, 0xd6, 0x2c, 0x0c, 0x35, 0x68, 0x16,
|
||||||
|
0xab, 0x53, 0x91, 0x1b, 0xa3, 0x56, 0x85, 0x61, 0x53, 0xb0, 0x57, 0x49, 0x18, 0x10, 0x1a, 0xa0,
|
||||||
|
0xaa, 0x39, 0x57, 0xb6, 0x04, 0x7b, 0x8e, 0x1b, 0xcc, 0xcb, 0xfa, 0xb9, 0xa6, 0x44, 0x98, 0xab,
|
||||||
|
0x7b, 0x17, 0xf9, 0xc3, 0xc2, 0xb8, 0xd0, 0x9e, 0x71, 0x8e, 0x09, 0x2d, 0xe2, 0xb5, 0xd8, 0xc6,
|
||||||
|
0xe1, 0x83, 0x46, 0x59, 0x41, 0xdb, 0xc3, 0xdf, 0xc8, 0xef, 0x6f, 0xf2, 0x36, 0x67, 0xce, 0x55,
|
||||||
|
0x66, 0xbd, 0xf9, 0xea, 0xf9, 0x92, 0xc4, 0xe0, 0xaf, 0x5b, 0x78, 0xda, 0x29, 0xeb, 0x96, 0x5c,
|
||||||
|
0x4f, 0xc4, 0xf1, 0x9f, 0x71, 0xee, 0x22, 0x47, 0xd6, 0xc4, 0x5a, 0xd7, 0x8e, 0x9f, 0x86, 0x0f,
|
||||||
|
0xb7, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x06, 0xe1, 0xc6, 0x74, 0x04, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,42 @@ syntax = "proto3";
|
||||||
package ricochet;
|
package ricochet;
|
||||||
|
|
||||||
import "network.proto";
|
import "network.proto";
|
||||||
|
import "identity.proto";
|
||||||
|
import "contact.proto";
|
||||||
|
import "conversation.proto";
|
||||||
|
|
||||||
service RicochetCore {
|
service RicochetCore {
|
||||||
|
// Query RPC server version and status
|
||||||
rpc GetServerStatus (ServerStatusRequest) returns (ServerStatusReply);
|
rpc GetServerStatus (ServerStatusRequest) returns (ServerStatusReply);
|
||||||
|
|
||||||
|
// Open a stream to monitor changes to network status. The current
|
||||||
|
// NetworkStatus will be sent immediately, and the stream will receive a
|
||||||
|
// new NetworkStatus after any changes until the stream is closed.
|
||||||
rpc MonitorNetwork (MonitorNetworkRequest) returns (stream NetworkStatus);
|
rpc MonitorNetwork (MonitorNetworkRequest) returns (stream NetworkStatus);
|
||||||
|
// Start connecting to the network. Before StartNetwork is called (by any
|
||||||
|
// client), the backend will not make any connections or appear online.
|
||||||
|
// This call blocks until the first connection attempt succeeds or fails,
|
||||||
|
// and returns the current network status, but connection attempts will
|
||||||
|
// continue unless this call returns an RPC error, or until StopNetwork
|
||||||
|
// is called.
|
||||||
rpc StartNetwork (StartNetworkRequest) returns (NetworkStatus);
|
rpc StartNetwork (StartNetworkRequest) returns (NetworkStatus);
|
||||||
|
// Stop all network connections and go offline. Blocks until the network
|
||||||
|
// has been taken offline, and returns the new network status.
|
||||||
rpc StopNetwork (StopNetworkRequest) returns (NetworkStatus);
|
rpc StopNetwork (StopNetworkRequest) returns (NetworkStatus);
|
||||||
|
|
||||||
|
// XXX Config (tor, etc)
|
||||||
|
|
||||||
|
// XXX Service status
|
||||||
|
rpc GetIdentity (IdentityRequest) returns (Identity);
|
||||||
|
|
||||||
|
rpc MonitorContacts (MonitorContactsRequest) returns (stream ContactEvent);
|
||||||
|
rpc AddContactRequest (ContactRequest) returns (Contact);
|
||||||
|
rpc UpdateContact (Contact) returns (Contact);
|
||||||
|
rpc DeleteContact (DeleteContactRequest) returns (DeleteContactReply);
|
||||||
|
rpc AcceptInboundRequest (ContactRequest) returns (Contact);
|
||||||
|
rpc RejectInboundRequest (ContactRequest) returns (RejectInboundRequestReply);
|
||||||
|
|
||||||
|
rpc StreamConversations (stream ConversationEvent) returns (stream ConversationEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
message ServerStatusRequest {
|
message ServerStatusRequest {
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
// Code generated by protoc-gen-go.
|
||||||
|
// source: identity.proto
|
||||||
|
// DO NOT EDIT!
|
||||||
|
|
||||||
|
package ricochet
|
||||||
|
|
||||||
|
import proto "github.com/golang/protobuf/proto"
|
||||||
|
import fmt "fmt"
|
||||||
|
import math "math"
|
||||||
|
|
||||||
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
var _ = proto.Marshal
|
||||||
|
var _ = fmt.Errorf
|
||||||
|
var _ = math.Inf
|
||||||
|
|
||||||
|
type Identity struct {
|
||||||
|
Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Identity) Reset() { *m = Identity{} }
|
||||||
|
func (m *Identity) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*Identity) ProtoMessage() {}
|
||||||
|
func (*Identity) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
|
||||||
|
|
||||||
|
type IdentityRequest struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *IdentityRequest) Reset() { *m = IdentityRequest{} }
|
||||||
|
func (m *IdentityRequest) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*IdentityRequest) ProtoMessage() {}
|
||||||
|
func (*IdentityRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
proto.RegisterType((*Identity)(nil), "ricochet.Identity")
|
||||||
|
proto.RegisterType((*IdentityRequest)(nil), "ricochet.IdentityRequest")
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { proto.RegisterFile("identity.proto", fileDescriptor4) }
|
||||||
|
|
||||||
|
var fileDescriptor4 = []byte{
|
||||||
|
// 95 bytes of a gzipped FileDescriptorProto
|
||||||
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x4c, 0x49, 0xcd,
|
||||||
|
0x2b, 0xc9, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x28, 0xca, 0x4c, 0xce,
|
||||||
|
0x4f, 0xce, 0x48, 0x2d, 0x51, 0x52, 0xe1, 0xe2, 0xf0, 0x84, 0xca, 0x09, 0x49, 0x70, 0xb1, 0x27,
|
||||||
|
0xa6, 0xa4, 0x14, 0xa5, 0x16, 0x17, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0xc1, 0xb8, 0x4a,
|
||||||
|
0x82, 0x5c, 0xfc, 0x30, 0x55, 0x41, 0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0x49, 0x6c, 0x60, 0x93,
|
||||||
|
0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcc, 0xc7, 0x44, 0x6d, 0x5b, 0x00, 0x00, 0x00,
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
package ricochet;
|
||||||
|
|
||||||
|
message Identity {
|
||||||
|
string address = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message IdentityRequest {
|
||||||
|
}
|
|
@ -38,7 +38,7 @@ var TorProcessStatus_Status_value = map[string]int32{
|
||||||
func (x TorProcessStatus_Status) String() string {
|
func (x TorProcessStatus_Status) String() string {
|
||||||
return proto.EnumName(TorProcessStatus_Status_name, int32(x))
|
return proto.EnumName(TorProcessStatus_Status_name, int32(x))
|
||||||
}
|
}
|
||||||
func (TorProcessStatus_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{1, 0} }
|
func (TorProcessStatus_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor5, []int{1, 0} }
|
||||||
|
|
||||||
type TorControlStatus_Status int32
|
type TorControlStatus_Status int32
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ var TorControlStatus_Status_value = map[string]int32{
|
||||||
func (x TorControlStatus_Status) String() string {
|
func (x TorControlStatus_Status) String() string {
|
||||||
return proto.EnumName(TorControlStatus_Status_name, int32(x))
|
return proto.EnumName(TorControlStatus_Status_name, int32(x))
|
||||||
}
|
}
|
||||||
func (TorControlStatus_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{2, 0} }
|
func (TorControlStatus_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor5, []int{2, 0} }
|
||||||
|
|
||||||
type TorConnectionStatus_Status int32
|
type TorConnectionStatus_Status int32
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ func (x TorConnectionStatus_Status) String() string {
|
||||||
return proto.EnumName(TorConnectionStatus_Status_name, int32(x))
|
return proto.EnumName(TorConnectionStatus_Status_name, int32(x))
|
||||||
}
|
}
|
||||||
func (TorConnectionStatus_Status) EnumDescriptor() ([]byte, []int) {
|
func (TorConnectionStatus_Status) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor1, []int{3, 0}
|
return fileDescriptor5, []int{3, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type MonitorNetworkRequest struct {
|
type MonitorNetworkRequest struct {
|
||||||
|
@ -102,7 +102,7 @@ type MonitorNetworkRequest struct {
|
||||||
func (m *MonitorNetworkRequest) Reset() { *m = MonitorNetworkRequest{} }
|
func (m *MonitorNetworkRequest) Reset() { *m = MonitorNetworkRequest{} }
|
||||||
func (m *MonitorNetworkRequest) String() string { return proto.CompactTextString(m) }
|
func (m *MonitorNetworkRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*MonitorNetworkRequest) ProtoMessage() {}
|
func (*MonitorNetworkRequest) ProtoMessage() {}
|
||||||
func (*MonitorNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
|
func (*MonitorNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
|
||||||
|
|
||||||
type TorProcessStatus struct {
|
type TorProcessStatus struct {
|
||||||
Status TorProcessStatus_Status `protobuf:"varint,1,opt,name=status,enum=ricochet.TorProcessStatus_Status" json:"status,omitempty"`
|
Status TorProcessStatus_Status `protobuf:"varint,1,opt,name=status,enum=ricochet.TorProcessStatus_Status" json:"status,omitempty"`
|
||||||
|
@ -112,7 +112,7 @@ type TorProcessStatus struct {
|
||||||
func (m *TorProcessStatus) Reset() { *m = TorProcessStatus{} }
|
func (m *TorProcessStatus) Reset() { *m = TorProcessStatus{} }
|
||||||
func (m *TorProcessStatus) String() string { return proto.CompactTextString(m) }
|
func (m *TorProcessStatus) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TorProcessStatus) ProtoMessage() {}
|
func (*TorProcessStatus) ProtoMessage() {}
|
||||||
func (*TorProcessStatus) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
|
func (*TorProcessStatus) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
|
||||||
|
|
||||||
type TorControlStatus struct {
|
type TorControlStatus struct {
|
||||||
Status TorControlStatus_Status `protobuf:"varint,1,opt,name=status,enum=ricochet.TorControlStatus_Status" json:"status,omitempty"`
|
Status TorControlStatus_Status `protobuf:"varint,1,opt,name=status,enum=ricochet.TorControlStatus_Status" json:"status,omitempty"`
|
||||||
|
@ -123,17 +123,18 @@ type TorControlStatus struct {
|
||||||
func (m *TorControlStatus) Reset() { *m = TorControlStatus{} }
|
func (m *TorControlStatus) Reset() { *m = TorControlStatus{} }
|
||||||
func (m *TorControlStatus) String() string { return proto.CompactTextString(m) }
|
func (m *TorControlStatus) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TorControlStatus) ProtoMessage() {}
|
func (*TorControlStatus) ProtoMessage() {}
|
||||||
func (*TorControlStatus) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
|
func (*TorControlStatus) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} }
|
||||||
|
|
||||||
type TorConnectionStatus struct {
|
type TorConnectionStatus struct {
|
||||||
Status TorConnectionStatus_Status `protobuf:"varint,1,opt,name=status,enum=ricochet.TorConnectionStatus_Status" json:"status,omitempty"`
|
Status TorConnectionStatus_Status `protobuf:"varint,1,opt,name=status,enum=ricochet.TorConnectionStatus_Status" json:"status,omitempty"`
|
||||||
BootstrapProgress string `protobuf:"bytes,10,opt,name=bootstrapProgress" json:"bootstrapProgress,omitempty"`
|
BootstrapProgress string `protobuf:"bytes,10,opt,name=bootstrapProgress" json:"bootstrapProgress,omitempty"`
|
||||||
|
SocksAddress []string `protobuf:"bytes,11,rep,name=socksAddress" json:"socksAddress,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *TorConnectionStatus) Reset() { *m = TorConnectionStatus{} }
|
func (m *TorConnectionStatus) Reset() { *m = TorConnectionStatus{} }
|
||||||
func (m *TorConnectionStatus) String() string { return proto.CompactTextString(m) }
|
func (m *TorConnectionStatus) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TorConnectionStatus) ProtoMessage() {}
|
func (*TorConnectionStatus) ProtoMessage() {}
|
||||||
func (*TorConnectionStatus) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
|
func (*TorConnectionStatus) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3} }
|
||||||
|
|
||||||
type NetworkStatus struct {
|
type NetworkStatus struct {
|
||||||
Process *TorProcessStatus `protobuf:"bytes,1,opt,name=process" json:"process,omitempty"`
|
Process *TorProcessStatus `protobuf:"bytes,1,opt,name=process" json:"process,omitempty"`
|
||||||
|
@ -144,7 +145,7 @@ type NetworkStatus struct {
|
||||||
func (m *NetworkStatus) Reset() { *m = NetworkStatus{} }
|
func (m *NetworkStatus) Reset() { *m = NetworkStatus{} }
|
||||||
func (m *NetworkStatus) String() string { return proto.CompactTextString(m) }
|
func (m *NetworkStatus) String() string { return proto.CompactTextString(m) }
|
||||||
func (*NetworkStatus) ProtoMessage() {}
|
func (*NetworkStatus) ProtoMessage() {}
|
||||||
func (*NetworkStatus) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
|
func (*NetworkStatus) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{4} }
|
||||||
|
|
||||||
func (m *NetworkStatus) GetProcess() *TorProcessStatus {
|
func (m *NetworkStatus) GetProcess() *TorProcessStatus {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
|
@ -173,7 +174,7 @@ type StartNetworkRequest struct {
|
||||||
func (m *StartNetworkRequest) Reset() { *m = StartNetworkRequest{} }
|
func (m *StartNetworkRequest) Reset() { *m = StartNetworkRequest{} }
|
||||||
func (m *StartNetworkRequest) String() string { return proto.CompactTextString(m) }
|
func (m *StartNetworkRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StartNetworkRequest) ProtoMessage() {}
|
func (*StartNetworkRequest) ProtoMessage() {}
|
||||||
func (*StartNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
|
func (*StartNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{5} }
|
||||||
|
|
||||||
type StopNetworkRequest struct {
|
type StopNetworkRequest struct {
|
||||||
}
|
}
|
||||||
|
@ -181,7 +182,7 @@ type StopNetworkRequest struct {
|
||||||
func (m *StopNetworkRequest) Reset() { *m = StopNetworkRequest{} }
|
func (m *StopNetworkRequest) Reset() { *m = StopNetworkRequest{} }
|
||||||
func (m *StopNetworkRequest) String() string { return proto.CompactTextString(m) }
|
func (m *StopNetworkRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StopNetworkRequest) ProtoMessage() {}
|
func (*StopNetworkRequest) ProtoMessage() {}
|
||||||
func (*StopNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
|
func (*StopNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{6} }
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterType((*MonitorNetworkRequest)(nil), "ricochet.MonitorNetworkRequest")
|
proto.RegisterType((*MonitorNetworkRequest)(nil), "ricochet.MonitorNetworkRequest")
|
||||||
|
@ -196,35 +197,37 @@ func init() {
|
||||||
proto.RegisterEnum("ricochet.TorConnectionStatus_Status", TorConnectionStatus_Status_name, TorConnectionStatus_Status_value)
|
proto.RegisterEnum("ricochet.TorConnectionStatus_Status", TorConnectionStatus_Status_name, TorConnectionStatus_Status_value)
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { proto.RegisterFile("network.proto", fileDescriptor1) }
|
func init() { proto.RegisterFile("network.proto", fileDescriptor5) }
|
||||||
|
|
||||||
var fileDescriptor1 = []byte{
|
var fileDescriptor5 = []byte{
|
||||||
// 431 bytes of a gzipped FileDescriptorProto
|
// 451 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcf, 0xaf, 0xd2, 0x40,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcf, 0x6e, 0xd3, 0x40,
|
||||||
0x10, 0xc7, 0x5f, 0x1f, 0x91, 0xf7, 0x18, 0x28, 0x81, 0x45, 0x62, 0x63, 0xa2, 0xd1, 0x8d, 0x07,
|
0x10, 0xc6, 0xeb, 0x46, 0xa4, 0xcd, 0xa4, 0xae, 0xd2, 0x2d, 0x15, 0x16, 0x12, 0xa8, 0xac, 0x38,
|
||||||
0x0f, 0xa6, 0x07, 0xf4, 0x62, 0xe2, 0xaf, 0x02, 0xc5, 0x10, 0x61, 0xdb, 0x6c, 0x8b, 0xc6, 0x23,
|
0x70, 0x40, 0x3e, 0x14, 0x2e, 0x48, 0xfc, 0x73, 0x13, 0x17, 0x45, 0xb4, 0x6b, 0x6b, 0xed, 0x82,
|
||||||
0x34, 0x1b, 0x24, 0x9a, 0x6e, 0xdd, 0x2e, 0xf1, 0xef, 0xf2, 0xea, 0xd5, 0xff, 0xc0, 0xbf, 0xc8,
|
0x38, 0xa6, 0xee, 0xaa, 0x44, 0x45, 0x1e, 0xb3, 0xbb, 0x15, 0xcf, 0xc5, 0x95, 0xc7, 0xe0, 0x25,
|
||||||
0x6d, 0x77, 0x21, 0x6d, 0x8d, 0xc6, 0xbc, 0x13, 0xcc, 0xcc, 0x77, 0xa6, 0xf3, 0x99, 0x99, 0x05,
|
0x78, 0x0d, 0xd6, 0xde, 0x4d, 0x64, 0x1b, 0x81, 0x50, 0x4f, 0xc9, 0xce, 0x7e, 0x33, 0x9e, 0xdf,
|
||||||
0x3b, 0x65, 0xf2, 0x1b, 0x17, 0x9f, 0xdd, 0x4c, 0x70, 0xc9, 0xd1, 0xb5, 0x38, 0x24, 0x3c, 0xf9,
|
0x37, 0xb3, 0xe0, 0x97, 0x42, 0x7f, 0x43, 0x79, 0x1d, 0x56, 0x12, 0x35, 0x92, 0x6d, 0xb9, 0x2c,
|
||||||
0xc4, 0x24, 0xbe, 0x03, 0xe3, 0x35, 0x4f, 0x0f, 0x92, 0x0b, 0xa2, 0x15, 0x94, 0x7d, 0x3d, 0xb2,
|
0xb0, 0xf8, 0x2c, 0x34, 0xbd, 0x07, 0x07, 0x67, 0x58, 0x2e, 0x35, 0x4a, 0x66, 0x15, 0x5c, 0x7c,
|
||||||
0x5c, 0xe2, 0xef, 0x16, 0x0c, 0x62, 0x2e, 0x42, 0xc1, 0x13, 0x96, 0xe7, 0x91, 0xdc, 0xca, 0x63,
|
0xbd, 0x11, 0x4a, 0xd3, 0xef, 0x1e, 0x4c, 0x72, 0x94, 0xa9, 0xc4, 0x42, 0x28, 0x95, 0xe9, 0x85,
|
||||||
0x8e, 0x9e, 0x43, 0x3b, 0x2f, 0xff, 0x39, 0xd6, 0x03, 0xeb, 0x71, 0x7f, 0xf2, 0xd0, 0x3d, 0x15,
|
0xbe, 0x51, 0xe4, 0x05, 0x0c, 0x55, 0xf3, 0x2f, 0xf0, 0x0e, 0xbd, 0x27, 0xbb, 0x47, 0x8f, 0xc2,
|
||||||
0x72, 0x9b, 0x5a, 0x57, 0xff, 0x50, 0x93, 0x80, 0x30, 0xf4, 0x98, 0x10, 0x5c, 0xac, 0x95, 0x62,
|
0x55, 0xa1, 0xb0, 0xaf, 0x0d, 0xed, 0x0f, 0x77, 0x09, 0x84, 0xc2, 0x8e, 0x90, 0x12, 0xe5, 0x99,
|
||||||
0xbb, 0x67, 0xce, 0xa5, 0x2a, 0xd0, 0xa1, 0x35, 0x1f, 0x7e, 0x05, 0x6d, 0xf3, 0xa1, 0x1e, 0x5c,
|
0x51, 0x2c, 0xae, 0x44, 0xb0, 0x69, 0x0a, 0x8c, 0x78, 0x27, 0x46, 0x5f, 0xc3, 0xd0, 0x7d, 0x68,
|
||||||
0xcf, 0x97, 0x91, 0x37, 0x5d, 0xf9, 0xf3, 0xc1, 0x05, 0xea, 0xc2, 0x55, 0x14, 0x07, 0x61, 0xa8,
|
0x07, 0xb6, 0x67, 0xf3, 0x2c, 0x3a, 0x3e, 0x8d, 0x67, 0x93, 0x0d, 0x32, 0x86, 0xad, 0x2c, 0x4f,
|
||||||
0x0c, 0xab, 0x08, 0x45, 0xb1, 0x47, 0xe3, 0x25, 0x79, 0x3b, 0xb8, 0x2c, 0x42, 0x74, 0x43, 0x48,
|
0xd2, 0xd4, 0x1c, 0xbc, 0xfa, 0x2a, 0xcb, 0x23, 0x9e, 0xcf, 0xd9, 0xbb, 0xc9, 0x66, 0x7d, 0xc5,
|
||||||
0x61, 0xb4, 0xf0, 0x2f, 0xdd, 0xf3, 0x8c, 0xa7, 0x52, 0xf0, 0x2f, 0xff, 0xd5, 0x73, 0x4d, 0x7b,
|
0xcf, 0x19, 0xab, 0x0f, 0x03, 0xfa, 0xd3, 0xf6, 0x3c, 0xc5, 0x52, 0x4b, 0xfc, 0xf2, 0x5f, 0x3d,
|
||||||
0x83, 0x9e, 0xd1, 0x7d, 0x00, 0x35, 0xbc, 0xf7, 0x4c, 0xe4, 0x07, 0x9e, 0x3a, 0x50, 0x2a, 0x2a,
|
0x77, 0xb4, 0xb7, 0xe8, 0x99, 0x3c, 0x04, 0x30, 0xe6, 0x7d, 0x10, 0x52, 0x2d, 0xb1, 0x0c, 0xa0,
|
||||||
0x1e, 0xfc, 0xfa, 0xcc, 0x54, 0xa1, 0xb8, 0x40, 0x1d, 0xb8, 0xe5, 0x53, 0x1a, 0x50, 0x05, 0xd4,
|
0x51, 0xb4, 0x22, 0xf4, 0xcd, 0x9a, 0xa9, 0x45, 0xb1, 0x41, 0x46, 0x70, 0x27, 0xe6, 0x3c, 0xe1,
|
||||||
0x07, 0x98, 0x05, 0x84, 0xf8, 0x33, 0x83, 0x64, 0x43, 0xc7, 0xd8, 0x4a, 0xd9, 0xc2, 0x3f, 0x2d,
|
0x06, 0x68, 0x17, 0x60, 0x9a, 0x30, 0x16, 0x4f, 0x1d, 0x92, 0x0f, 0x23, 0x77, 0x36, 0xca, 0x01,
|
||||||
0x18, 0xe9, 0x46, 0x53, 0x96, 0x48, 0x55, 0xd2, 0x94, 0x7b, 0xd1, 0xe0, 0x7a, 0xd4, 0xe4, 0xaa,
|
0xfd, 0xe5, 0xc1, 0xbe, 0x6d, 0xb4, 0x14, 0x85, 0x36, 0x25, 0x5d, 0xb9, 0x97, 0x3d, 0xae, 0xc7,
|
||||||
0xc9, 0x9b, 0x68, 0x4f, 0x60, 0xb8, 0xe3, 0x5c, 0xe6, 0x52, 0x6c, 0x33, 0xb5, 0xb7, 0xbd, 0x50,
|
0x7d, 0xae, 0x8e, 0xbc, 0x8f, 0xf6, 0x14, 0xf6, 0x2e, 0x10, 0xb5, 0xd2, 0x72, 0x51, 0x99, 0xb9,
|
||||||
0x38, 0xa6, 0xfb, 0x3f, 0x03, 0xf8, 0x4d, 0x15, 0x62, 0x43, 0xde, 0x91, 0xe0, 0x03, 0xd1, 0x7b,
|
0x5d, 0x49, 0x83, 0xe3, 0xba, 0xff, 0xf3, 0xa2, 0x36, 0x42, 0x61, 0x71, 0xad, 0xa2, 0xcb, 0xcb,
|
||||||
0x09, 0x16, 0x8b, 0xd5, 0x92, 0xf8, 0x0a, 0x63, 0x08, 0xf6, 0x34, 0x08, 0xe2, 0x28, 0xa6, 0x5e,
|
0x46, 0x38, 0x3e, 0x1c, 0xd4, 0x46, 0xb4, 0x63, 0xf4, 0x6d, 0x1b, 0xf4, 0x9c, 0xbd, 0x67, 0xc9,
|
||||||
0x18, 0x6a, 0x12, 0x05, 0x49, 0x7d, 0x6f, 0xfe, 0x51, 0x51, 0xfc, 0xb0, 0xc0, 0x36, 0x17, 0x66,
|
0x47, 0x66, 0x67, 0x97, 0x9c, 0x9c, 0x9c, 0xce, 0x59, 0x6c, 0x50, 0xf7, 0xc0, 0x3f, 0x4e, 0x92,
|
||||||
0x2a, 0x3d, 0x83, 0xab, 0x4c, 0x1f, 0x4c, 0x09, 0xd0, 0x9d, 0xdc, 0xfd, 0xfb, 0x31, 0xd1, 0x93,
|
0x3c, 0xcb, 0x79, 0x94, 0xa6, 0x96, 0xd6, 0x18, 0xc1, 0xe3, 0x68, 0xf6, 0xc9, 0x90, 0xfe, 0xf0,
|
||||||
0xb4, 0xc8, 0x4a, 0xf4, 0xca, 0xca, 0x6d, 0x34, 0xb3, 0x6a, 0xeb, 0xa4, 0x27, 0x29, 0x7a, 0x09,
|
0xc0, 0x77, 0x5b, 0xe8, 0x2a, 0x3d, 0x87, 0xad, 0xca, 0x2e, 0x55, 0x03, 0x39, 0x3e, 0xba, 0xff,
|
||||||
0x90, 0x9c, 0x07, 0xe2, 0xb4, 0xca, 0xc4, 0x7b, 0xff, 0x9c, 0x17, 0xad, 0x24, 0xe0, 0x31, 0x8c,
|
0xf7, 0x85, 0xe3, 0x2b, 0x69, 0x9d, 0x55, 0xd8, 0xb1, 0x36, 0x13, 0xeb, 0x67, 0x75, 0x46, 0xce,
|
||||||
0x94, 0x57, 0xc8, 0xc6, 0x13, 0xb9, 0x0d, 0x28, 0x92, 0x3c, 0xab, 0x7b, 0x77, 0xed, 0xf2, 0x89,
|
0x57, 0x52, 0xf2, 0x0a, 0xa0, 0x58, 0x9b, 0x16, 0x0c, 0x9a, 0xc4, 0x07, 0xff, 0xf4, 0x94, 0xb7,
|
||||||
0x3d, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xce, 0xd8, 0xfb, 0x73, 0x03, 0x00, 0x00,
|
0x12, 0xe8, 0x01, 0xec, 0x9b, 0xa8, 0xd4, 0xbd, 0x67, 0x74, 0x17, 0x48, 0xa6, 0xb1, 0xea, 0x46,
|
||||||
|
0x2f, 0x86, 0xcd, 0x33, 0x7c, 0xf6, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x78, 0x89, 0xf8, 0x34, 0x97,
|
||||||
|
0x03, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ message TorConnectionStatus {
|
||||||
Status status = 1;
|
Status status = 1;
|
||||||
|
|
||||||
string bootstrapProgress = 10;
|
string bootstrapProgress = 10;
|
||||||
|
repeated string socksAddress = 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
message NetworkStatus {
|
message NetworkStatus {
|
||||||
|
|
Loading…
Reference in New Issue