Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
teeworlds_srvbrowse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
minus
teeworlds_srvbrowse
Commits
0e1e8f06
Commit
0e1e8f06
authored
Sep 19, 2014
by
minus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added hostname support to Address
parent
9bf07c18
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
7 deletions
+15
-7
teeworlds/base.py
teeworlds/base.py
+5
-2
teeworlds/teeworlds.py
teeworlds/teeworlds.py
+10
-5
No files found.
teeworlds/base.py
View file @
0e1e8f06
...
@@ -15,7 +15,7 @@ L = logging.getLogger(__name__)
...
@@ -15,7 +15,7 @@ L = logging.getLogger(__name__)
def
get_address
(
host
,
port
=
8303
,
family
=
0
):
def
get_address
(
host
,
port
=
8303
,
family
=
0
):
try
:
try
:
info
=
socket
.
getaddrinfo
(
host
,
port
,
family
,
socket
.
SOCK_DGRAM
)
info
=
socket
.
getaddrinfo
(
host
,
port
,
family
,
socket
.
SOCK_DGRAM
)
return
Address
(
info
[
0
][
4
][
0
],
info
[
0
][
4
][
1
],
family
)
return
Address
(
info
[
0
][
4
][
0
],
info
[
0
][
4
][
1
],
family
,
hostname
=
host
)
except
socket
.
gaierror
as
e
:
except
socket
.
gaierror
as
e
:
L
.
warning
(
'getaddrinfo failed: '
+
str
(
e
))
L
.
warning
(
'getaddrinfo failed: '
+
str
(
e
))
return
None
return
None
...
@@ -54,10 +54,13 @@ def listdata2addresslist(listdata):
...
@@ -54,10 +54,13 @@ def listdata2addresslist(listdata):
class
Address
(
object
):
class
Address
(
object
):
def
__init__
(
self
,
host
=
None
,
port
=
None
,
family
=
None
):
def
__init__
(
self
,
host
=
None
,
port
=
None
,
family
=
None
,
hostname
=
None
):
self
.
host
=
host
self
.
host
=
host
self
.
port
=
port
self
.
port
=
port
self
.
family
=
family
self
.
family
=
family
self
.
hostname
=
hostname
if
not
hostname
:
self
.
hostname
=
host
def
address_tuple
(
self
):
def
address_tuple
(
self
):
return
(
self
.
host
,
self
.
port
)
return
(
self
.
host
,
self
.
port
)
...
...
teeworlds/teeworlds.py
View file @
0e1e8f06
...
@@ -25,16 +25,21 @@ L = logging.getLogger(__name__)
...
@@ -25,16 +25,21 @@ L = logging.getLogger(__name__)
from
.base
import
get_address
from
.base
import
get_address
from
.master
import
MasterServer
from
.master
import
MasterServer
def
get_master_addresses
(
hostnames
=
[
"master{}.teeworlds.com"
.
format
(
i
+
1
)
for
i
in
range
(
4
)]):
def
create_masters
(
eventsocket
,
hostnames
=
[
"master{}.teeworlds.com"
.
format
(
i
+
1
)
for
i
in
range
(
4
)],
master_factory
=
MasterServer
):
masterlist
=
[]
masterlist
=
[]
for
mastername
in
hostnames
:
for
mastername
in
hostnames
:
# resolves host and picks the first address
# resolves host and picks the first address
master_addr
=
get_address
(
mastername
,
port
=
8300
)
master_addr
=
get_address
(
mastername
,
port
=
8300
)
if
master_addr
:
if
master_addr
:
L
.
debug
(
"requesting {} ({})"
.
format
(
mastername
,
master_addr
))
masterlist
.
append
(
get_address
(
mastername
,
port
=
8300
))
master
=
master_factory
(
eventsocket
,
master_addr
,
mastername
.
partition
(
"."
)[
0
])
return
masterlist
masterlist
.
append
(
master
)
def
create_masters
(
eventsocket
,
addresses
=
get_master_addresses
(),
master_factory
=
MasterServer
):
masterlist
=
[]
for
master_addr
in
addresses
:
L
.
debug
(
"requesting {} ({})"
.
format
(
master_addr
.
hostname
,
master_addr
))
master
=
master_factory
(
eventsocket
,
master_addr
,
master_addr
.
hostname
)
masterlist
.
append
(
master
)
return
masterlist
return
masterlist
def
query_masters_serverlist
(
masterlist
):
def
query_masters_serverlist
(
masterlist
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment