mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-27 04:35:34 +08:00
Add Qos module
This commit is contained in:
74
src/transmission/ice_transmission.h
Normal file
74
src/transmission/ice_transmission.h
Normal file
@@ -0,0 +1,74 @@
|
||||
#ifndef _ICE_TRANSMISSION_H_
|
||||
#define _ICE_TRANSMISSION_H_
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "congestion_control.h"
|
||||
#include "ice_agent.h"
|
||||
#include "ws_transmission.h"
|
||||
|
||||
class IceTransmission {
|
||||
public:
|
||||
IceTransmission(bool offer_peer, std::string &transmission_id,
|
||||
std::string &user_id, std::string &remote_user_id,
|
||||
WsTransmission *ice_ws_transmission,
|
||||
std::function<void(const char *, size_t)> on_receive_ice_msg);
|
||||
|
||||
~IceTransmission();
|
||||
|
||||
int InitIceTransmission(std::string &ip, int port);
|
||||
|
||||
int DestroyIceTransmission();
|
||||
|
||||
int CreateTransmission(const std::string &transmission_id);
|
||||
int JoinTransmission();
|
||||
|
||||
int SetTransmissionId(const std::string &transmission_id);
|
||||
|
||||
int SendData(const char *data, size_t size);
|
||||
|
||||
void OnReceiveUserData(const char *data, size_t size);
|
||||
|
||||
void OnReceiveMessage(const std::string &msg);
|
||||
|
||||
public:
|
||||
int GatherCandidates();
|
||||
|
||||
int GetLocalSdp();
|
||||
|
||||
int QueryRemoteSdp(std::string transmission_id);
|
||||
|
||||
int SetRemoteSdp(const std::string &remote_sdp);
|
||||
|
||||
int AddRemoteCandidate(const std::string &remote_candidate);
|
||||
|
||||
int CreateOffer();
|
||||
|
||||
int SendOffer();
|
||||
|
||||
int CreateAnswer();
|
||||
|
||||
int SendAnswer();
|
||||
|
||||
int SendOfferLocalCandidate(const std::string &remote_candidate);
|
||||
|
||||
int SendAnswerLocalCandidate(const std::string &remote_candidate);
|
||||
|
||||
private:
|
||||
IceAgent *ice_agent_ = nullptr;
|
||||
WsTransmission *ice_ws_transport_ = nullptr;
|
||||
CongestionControl *congestion_control_ = nullptr;
|
||||
std::function<void(const char *, size_t)> on_receive_ice_msg_cb_ = nullptr;
|
||||
std::string local_sdp_;
|
||||
std::string remote_sdp_;
|
||||
std::string local_candidates_;
|
||||
std::string remote_candidates_;
|
||||
unsigned int connection_id_ = 0;
|
||||
std::string transmission_id_ = "";
|
||||
std::string user_id_ = "";
|
||||
std::string remote_user_id_ = "";
|
||||
bool offer_peer_ = true;
|
||||
std::string remote_ice_username_ = "";
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user