Since we need to use a list of users for establishing channels, we should begin the ground work now for multi-user communication management.
Ideally we want a text buffer per "established" connection, which would allow us to retain chat history per conversation.
The problem becomes handling channels.
Method one is to have a single set of three channels in the network_stack that are "shared", which means when switching contacts we close the channel to open it with another user. This also means switching users with active video chat would have to close the video chat (or display a dialog to confirm?).
Method two is to create a contact class, which carries its own channels, allowing us to keep them open and continue to accept and manage conversations.
Since we need to use a list of users for establishing channels, we should begin the ground work now for multi-user communication management.
Ideally we want a text buffer per "established" connection, which would allow us to retain chat history per conversation.
The problem becomes handling channels.
Method one is to have a single set of three channels in the network_stack that are "shared", which means when switching contacts we close the channel to open it with another user. This also means switching users with active video chat would have to close the video chat (or display a dialog to confirm?).
Method two is to create a contact class, which carries its own channels, allowing us to keep them open and continue to accept and manage conversations.