Home | History | Annotate | Download | only in base

Lines Matching refs:allocation

65 // IDs used for posted messages for TurnServer::Allocation.
70 // Encapsulates a TURN allocation.
71 // The object is created when an allocation request is received, and then
73 // (via HandleChannelData) for this allocation when received by the server.
75 class TurnServer::Allocation : public rtc::MessageHandler,
78 Allocation(TurnServer* server_,
82 virtual ~Allocation();
96 sigslot::signal1<Allocation*> SignalDestroyed;
145 // allocation, and self-deletes when its lifetime timer expires.
165 // allocation, and self-deletes when its lifetime timer expires.
297 // This is a channel message; let the allocation handle it.
298 Allocation* allocation = FindAllocation(&conn);
299 if (allocation) {
300 allocation->HandleChannelData(data, size);
330 // existing allocation, the key will already be cached.
331 Allocation* allocation = FindAllocation(conn);
333 if (!allocation) {
336 key = allocation->key();
346 if (!allocation && msg.type() == STUN_ALLOCATE_REQUEST) {
348 } else if (allocation &&
350 msg.transaction_id() == allocation->transaction_id())) {
355 allocation->username()) {
360 allocation->HandleTurnMessage(&msg);
362 // Allocation mismatch.
424 Allocation* allocation = FindAllocation(conn);
425 if (enable_otu_nonce_ && allocation &&
426 allocation->last_nonce() == nonce_attr->GetString()) {
432 if (allocation) {
433 allocation->set_last_nonce(nonce_attr->GetString());
473 // Create the allocation and let it send the success response.
474 // If the actual socket allocation fails, send an internal error.
475 Allocation* alloc = CreateAllocation(conn, proto, key);
519 TurnServer::Allocation* TurnServer::FindAllocation(Connection* conn) {
524 TurnServer::Allocation* TurnServer::CreateAllocation(Connection* conn,
533 // The Allocation takes ownership of the socket.
534 Allocation* allocation = new Allocation(this,
536 allocation->SignalDestroyed.connect(this, &TurnServer::OnAllocationDestroyed);
537 allocations_[*conn] = allocation;
538 return allocation;
591 void TurnServer::OnAllocationDestroyed(Allocation* allocation) {
593 rtc::AsyncPacketSocket* socket = allocation->conn()->socket();
596 // Skip if the socket serving this allocation is UDP, as this will be shared
602 AllocationMap::iterator it = allocations_.find(*(allocation->conn()));
644 TurnServer::Allocation::Allocation(TurnServer* server,
655 this, &TurnServer::Allocation::OnExternalPacket);
658 TurnServer::Allocation::~Allocation() {
668 LOG_J(LS_INFO, this) << "Allocation destroyed";
671 std::string TurnServer::Allocation::ToString() const {
677 void TurnServer::Allocation::HandleTurnMessage(const TurnMessage* msg) {
702 void TurnServer::Allocation::HandleAllocateRequest(const TurnMessage* msg) {
710 // Figure out the lifetime and start the allocation timer.
714 LOG_J(LS_INFO, this) << "Created allocation, lifetime=" << lifetime_secs;
734 void TurnServer::Allocation::HandleRefreshRequest(const TurnMessage* msg) {
742 LOG_J(LS_INFO, this) << "Refreshed allocation, lifetime=" << lifetime_secs;
755 void TurnServer::Allocation::HandleSendIndication(const TurnMessage* msg) {
775 void TurnServer::Allocation::HandleCreatePermissionRequest(
797 void TurnServer::Allocation::HandleChannelBindRequest(const TurnMessage* msg) {
828 &TurnServer::Allocation::OnChannelDestroyed);
846 void TurnServer::Allocation::HandleChannelData(const char* data, size_t size) {
860 void TurnServer::Allocation::OnExternalPacket(
891 int TurnServer::Allocation::ComputeLifetime(const TurnMessage* msg) {
901 bool TurnServer::Allocation::HasPermission(const rtc::IPAddress& addr) {
905 void TurnServer::Allocation::AddPermission(const rtc::IPAddress& addr) {
910 this, &TurnServer::Allocation::OnPermissionDestroyed);
917 TurnServer::Permission* TurnServer::Allocation::FindPermission(
927 TurnServer::Channel* TurnServer::Allocation::FindChannel(int channel_id) const {
936 Allocation::FindChannel(
946 void TurnServer::Allocation::SendResponse(TurnMessage* msg) {
952 void TurnServer::Allocation::SendBadRequestResponse(const TurnMessage* req) {
956 void TurnServer::Allocation::SendErrorResponse(const TurnMessage* req, int code,
961 void TurnServer::Allocation::SendExternal(const void* data, size_t size,
967 void TurnServer::Allocation::OnMessage(rtc::Message* msg) {
973 void TurnServer::Allocation::OnPermissionDestroyed(Permission* perm) {
979 void TurnServer::Allocation::OnChannelDestroyed(Channel* channel) {