Skip to content
This repository has been archived by the owner on Aug 25, 2021. It is now read-only.

Add coturn integration #20

Merged
merged 48 commits into from
Jun 13, 2019
Merged
Changes from 1 commit
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
4865a0f
Dockerize application
Kirguir Apr 11, 2019
48468c1
Remove medea container
Kirguir Apr 15, 2019
bd5fdaa
Fix docs
Kirguir Apr 17, 2019
2b70f97
Merge branch 'master' into dockerize
Kirguir May 8, 2019
9489194
Impl COTURN auth service
Kirguir May 13, 2019
5785514
Merge branch 'master' into dockerize
Kirguir May 14, 2019
a20cec3
Impl IceUsersRepository
Kirguir May 14, 2019
9546d4b
refactor
alexlapa May 15, 2019
cdfdf19
refactor
alexlapa May 20, 2019
fbd2abe
fix config
alexlapa May 20, 2019
cd3bd63
fix config
alexlapa May 20, 2019
a4dc292
fix tests
alexlapa May 21, 2019
a7d2812
Merge branch 'master' into dockerize
alexlapa May 22, 2019
da70a95
fix merge
alexlapa May 22, 2019
82b28c0
Merge branch 'master' into dockerize
alexlapa May 22, 2019
83f7d5b
fix merge
alexlapa May 22, 2019
ba6f653
return derive debug
alexlapa May 22, 2019
d8d70be
refactoring
alexlapa May 23, 2019
c9456ae
Merge branch 'master' into dockerize
alexlapa May 23, 2019
adce23b
refactor
alexlapa May 23, 2019
cab7db3
refactor
alexlapa May 23, 2019
73df128
run coturn in host
alexlapa May 24, 2019
fb30d72
Corrections
tyranron May 24, 2019
daf1653
fix config
alexlapa May 24, 2019
eea2a45
fix rand usage
alexlapa May 24, 2019
cc87ec9
getters naming
alexlapa May 24, 2019
b171d5e
minor fixes
alexlapa May 24, 2019
8b76505
add trait TurnAuthService
alexlapa May 26, 2019
d543ee2
refactor
alexlapa May 26, 2019
de40a38
add reauth todo
alexlapa May 26, 2019
d5d6b13
Merge remote-tracking branch 'origin/dockerize' into dockerize
tyranron May 28, 2019
862303f
Add Coturn integration (#20)
nWacky Jun 5, 2019
fa984f6
Merge branch 'master' into dockerize
alexlapa Jun 6, 2019
952fa07
Optimize, fix bugs
nWacky Jun 6, 2019
0dd9c82
review
alexlapa Jun 7, 2019
51e59bc
fix bugs
nWacky Jun 7, 2019
6b376a9
documentation, refactor
alexlapa Jun 9, 2019
440273c
do not create/delete static IceUsers
alexlapa Jun 9, 2019
4cf81fe
poll delete_ice_user, use delete_batch instead of delete
alexlapa Jun 9, 2019
09c62a5
fix test
alexlapa Jun 9, 2019
a0905c7
add MEDEA_TURN.DB.REDIS.CONNECTION_TIMEOUT
alexlapa Jun 9, 2019
91c5dbc
log err
alexlapa Jun 9, 2019
8d68d3f
refactor
alexlapa Jun 9, 2019
b8da19e
add todo
alexlapa Jun 9, 2019
868907a
fix deps
alexlapa Jun 9, 2019
c5cbb84
Merge remote-tracking branch 'origin/dockerize' into dockerize
tyranron Jun 12, 2019
9f3a12e
Correct 'jason' and 'medea-client-api' changes
tyranron Jun 12, 2019
44bc7e6
Correct config defaults
tyranron Jun 13, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix merge
alexlapa committed May 22, 2019
commit 83f7d5bbb0b8c034d637f07a8e872aa2abea49e7
39 changes: 38 additions & 1 deletion src/conf/mod.rs
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ use config::{Config, Environment, File};
use failure::Error;
use serde::{Deserialize, Serialize};

pub use self::{rpc::Rpc, turn::Turn, server::Server, turn::Turn};
pub use self::{redis::Redis, rpc::Rpc, server::Server, turn::Turn};

/// CLI argument that is responsible for holding application configuration
/// file path.
@@ -80,6 +80,7 @@ mod tests {
use std::{fs, time::Duration};

use super::*;
use std::net::Ipv4Addr;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Be patient with import locations. I guess it was auto-imported.


#[test]
#[serial]
@@ -191,4 +192,40 @@ mod tests {

assert_eq!(file_env_config.rpc.idle_timeout, Duration::from_secs(48));
}

#[test]
#[serial]
fn redis_conf_test() {
tyranron marked this conversation as resolved.
Show resolved Hide resolved
let default_conf = Conf::default();

env::set_var("MEDEA_REDIS.IP", "5.5.5.5");
env::set_var("MEDEA_REDIS.PORT", "1234");

let env_conf = Conf::parse().unwrap();

assert_ne!(default_conf.redis.ip, env_conf.redis.ip);
assert_ne!(default_conf.redis.port, env_conf.redis.port);

assert_eq!(env_conf.redis.ip, Ipv4Addr::new(5, 5, 5, 5));
assert_eq!(env_conf.redis.port, 1234);
assert_eq!(env_conf.redis.get_addr(), "5.5.5.5:1234".parse().unwrap(),);
}

#[test]
#[serial]
fn turn_conf_test() {
let default_conf = Conf::default();

env::set_var("MEDEA_TURN.IP", "5.5.5.5");
env::set_var("MEDEA_TURN.PORT", "1234");

let env_conf = Conf::parse().unwrap();

assert_ne!(default_conf.turn.ip, env_conf.turn.ip);
assert_ne!(default_conf.turn.port, env_conf.turn.port);

assert_eq!(env_conf.turn.ip, Ipv4Addr::new(5, 5, 5, 5));
assert_eq!(env_conf.turn.port, 1234);
assert_eq!(env_conf.turn.get_addr(), "5.5.5.5:1234".parse().unwrap());
}
}
30 changes: 1 addition & 29 deletions src/conf/redis.rs
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ use smart_default::*;

/// Redis server settings.
#[derive(Clone, Debug, Deserialize, Serialize, SmartDefault)]
#[serde(default)]
pub struct Redis {
/// IP address Redis server. Defaults to `0.0.0.0`.
#[default(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)))]
@@ -30,32 +31,3 @@ impl Redis {
.unwrap()
}
}

#[cfg(test)]
mod redis_spec {
use std::env;

use serial_test_derive::serial;

use crate::conf::Conf;

use super::*;

#[test]
#[serial]
fn overrides_defaults_and_gets_addr() {
let default_conf = Conf::default();

env::set_var("MEDEA_REDIS.IP", "5.5.5.5");
env::set_var("MEDEA_REDIS.PORT", "1234");

let env_conf = Conf::parse().unwrap();

assert_ne!(default_conf.redis.ip, env_conf.redis.ip);
assert_ne!(default_conf.redis.port, env_conf.redis.port);

assert_eq!(env_conf.redis.ip, Ipv4Addr::new(5, 5, 5, 5));
assert_eq!(env_conf.redis.port, 1234);
assert_eq!(env_conf.redis.get_addr(), "5.5.5.5:1234".parse().unwrap(),);
}
}
30 changes: 1 addition & 29 deletions src/conf/turn.rs
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ use smart_default::*;

/// STUN/TURN server settings.
#[derive(Clone, Debug, Deserialize, Serialize, SmartDefault)]
#[serde(default)]
pub struct Turn {
/// IP address STUN/TURN server. Defaults to `0.0.0.0`.
#[default(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)))]
@@ -33,32 +34,3 @@ impl Turn {
.unwrap()
}
}

#[cfg(test)]
mod turn_spec {
use std::env;

use serial_test_derive::serial;

use crate::conf::Conf;

use super::*;

#[test]
#[serial]
fn overrides_defaults_and_gets_addr() {
let default_conf = Conf::default();

env::set_var("MEDEA_TURN.IP", "5.5.5.5");
env::set_var("MEDEA_TURN.PORT", "1234");

let env_conf = Conf::parse().unwrap();

assert_ne!(default_conf.turn.ip, env_conf.turn.ip);
assert_ne!(default_conf.turn.port, env_conf.turn.port);

assert_eq!(env_conf.turn.ip, Ipv4Addr::new(5, 5, 5, 5));
assert_eq!(env_conf.turn.port, 1234);
assert_eq!(env_conf.turn.get_addr(), "5.5.5.5:1234".parse().unwrap());
}
}