Client to Server messaging

This commit is contained in:
ycc
2022-09-19 13:26:27 +02:00
parent 53a2da8b93
commit 3ef38350c6
3 changed files with 48 additions and 36 deletions

View File

@ -29,6 +29,13 @@ func InternalServerFromUrl(url string) *InternalServer {
return &is
}
func InternalServerFromServer(server *meowlib.Server) *InternalServer {
var is InternalServer
is.ServerData = *server
is.Me = meowlib.NewKeyPair()
return &is
}
func (sl *InternalServerList) AddUrls(urls []string) {
for _, url := range urls {
sl.Servers = append(sl.Servers, *InternalServerFromUrl(url))
@ -56,7 +63,7 @@ func (ints *InternalServer) AsymDecryptMessage(Message []byte, Signature []byte)
}
// Creates a basic message to server from a single packed user message and returns it as protobuf serialized byte array
func (ints *InternalServer) CreateMessageSendingMessage(usermsg *meowlib.PackedUserMessage) ([]byte, error) {
func (ints *InternalServer) BuildMessageSendingMessage(usermsg *meowlib.PackedUserMessage) ([]byte, error) {
var msg meowlib.ToServerMessage
msg.Type = "1"
msg.From = ints.Me.Public
@ -69,7 +76,7 @@ func (ints *InternalServer) CreateMessageSendingMessage(usermsg *meowlib.PackedU
}
// Creates a basic message to server from a single packed user message and returns it as protobuf serialized byte array
func (ints *InternalServer) CreateMessageRequestMessage(lookupKeys []string) ([]byte, error) {
func (ints *InternalServer) BuildMessageRequestMessage(lookupKeys []string) ([]byte, error) {
var msg meowlib.ToServerMessage
msg.Type = "1"
msg.From = ints.Me.Public
@ -80,3 +87,15 @@ func (ints *InternalServer) CreateMessageRequestMessage(lookupKeys []string) ([]
}
return out, nil
}
func (ints *InternalServer) PackServerMessage(payload []byte, signature []byte) (protoPackedMessage []byte, err error) {
var msg meowlib.PackedServerMessage
msg.From = ints.Me.Public
msg.Payload = payload
msg.Signature = signature
out, err := proto.Marshal(&msg)
if err != nil {
return nil, err
}
return out, nil
}