package client import "fmt" func ProcessOutboundTextMessage(peer *Peer, text string, srv *InternalServer) ([]byte, error) { // Creating User message usermessage, err := peer.BuildSimpleUserMessage([]byte(text)) if err != nil { return nil, err } serializedMessage, err := peer.SerializeUserMessage(usermessage) if err != nil { return nil, err } // Encrypting it EncMsg, EncMsgSignature, FriendServers, err := peer.AsymEncryptMessage(serializedMessage) if err != nil { return nil, err } fmt.Println(len(FriendServers)) // Packing it packedMsg := peer.PackUserMessage(EncMsg, EncMsgSignature) // Creating Server message for transporting the user message toServerMessage, err := srv.BuildMessageSendingMessage(packedMsg) if err != nil { return nil, err } // Encrypting it encToServerMessage, encToServerMessageSignature, err := srv.AsymEncryptMessage(toServerMessage) if err != nil { return nil, err } // Packing it protoPackedServerMsg, err := srv.PackServerMessage(encToServerMessage, encToServerMessageSignature) if err != nil { return nil, err } return protoPackedServerMsg, nil }