Skip to content

Commit

Permalink
python: use team_get_event_fd and team_handle_events instead of depre…
Browse files Browse the repository at this point in the history
…cated functions

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
  • Loading branch information
jpirko committed May 16, 2013
1 parent 04b8077 commit 3cf6531
Showing 1 changed file with 4 additions and 60 deletions.
64 changes: 4 additions & 60 deletions binding/python/team/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,60 +115,6 @@ def set_hwaddr(self, hwaddr_str):
if err:
raise TeamLibError("Failed to set hardware address", err)

class TeamEventfd(object):
"""
Class stores event filedesctiptor info.
"""
def __init__(self, th, eventfd):
self._th = th
self._eventfd = eventfd

def get_fd(self):
return capi.team_get_eventfd_fd(self._th, self._eventfd)

def call_handler(self):
return capi.team_call_eventfd_handler(self._th, self._eventfd)

class TeamEventfdListIterator(object):
"""
Iterator class for TeamEventfdList class for iterating over all listed event
filedescriptors.
"""
def __init__(self, eventfds):
self._eventfds = eventfds
self._cursor = 0

def __iter__(self):
iter

def next(self):
""" Get next item in list """
if self._cursor == len(self._eventfds):
raise StopIteration
else:
eventfd = self._eventfds[self._cursor]
self._cursor += 1
return eventfd

class TeamEventfdList(object):
"""
Class contains list of event filedesctiptor info.
"""
def __init__(self, th):
self._th = th
self._eventfds = []
lib_eventfd = capi.team_get_next_eventfd(self._th, None)
while lib_eventfd:
eventfd = TeamEventfd(self._th, lib_eventfd)
self._eventfds.append(eventfd)
lib_eventfd = capi.team_get_next_eventfd(self._th, lib_eventfd)

def __len__(self):
return len(self._ports)

def __iter__(self):
return TeamEventfdListIterator(self._eventfds)

class TeamPort(TeamNetDevice):
"""
Class stores port data and serves for port modification.
Expand Down Expand Up @@ -421,7 +367,6 @@ def __init__(self, teamdev, create = False, recreate = False, destroy = False):
self.ifindex = ifindex
self._destroy = destroy
self._change_handler_list = TeamChangeHandlerList()
self._eventfd_list = TeamEventfdList(th)
self._port_list = TeamPortList(th)
self._option_list = TeamOptionList(th)

Expand All @@ -448,13 +393,12 @@ def kill_loop(self):

def loop_forever(self):
self._kill_loop = False
fds = [eventfd.get_fd() for eventfd in self._eventfd_list]
fd = capi.team_get_event_fd(self._th)
while True:
try:
ret = select.select(fds, [], [])
for eventfd in self._eventfd_list:
if eventfd.get_fd() in ret[0]:
eventfd.call_handler()
ret = select.select([fd], [], [])
if fd in ret[0]:
capi.team_handle_events(self._th)
except KeyboardInterrupt:
return
except select.error as e:
Expand Down

0 comments on commit 3cf6531

Please sign in to comment.