|
73 |
self.client = umcp.Client() |
71 |
self.client = umcp.Client() |
74 |
self.client.signal_connect( 'authenticated', self._authenticated ) |
72 |
self.client.signal_connect( 'authenticated', self._authenticated ) |
75 |
self.client.signal_connect( 'response', self._response ) |
73 |
self.client.signal_connect( 'response', self._response ) |
76 |
if self.client.connect(): |
74 |
try: |
|
|
75 |
if not self.client.connect(): |
76 |
CORE.process( 'Failed to connect ... just kidding' ) |
77 |
CORE.info('SessionClient(0x%x): connected to UMC server' % (id(self),)) |
77 |
CORE.info('SessionClient(0x%x): connected to UMC server' % (id(self),)) |
78 |
else: |
78 |
except umcp.NoSocketError: |
79 |
CORE.process('SessionClient(0x%x): connection to UMC server failed' % (id(self),)) |
79 |
CORE.process('SessionClient(0x%x): connection to UMC server failed' % (id(self),)) |
|
|
80 |
raise umcp.NoSocketError( 'Connection failed' ) |
80 |
self._auth_response = None |
81 |
self._auth_response = None |
81 |
self._auth_response_queue = None |
82 |
self._auth_response_queue = None |
82 |
self._requestid2response_queue = {} |
83 |
self._requestid2response_queue = {} |
|
214 |
queuerequest.sessionid = str( uuid.uuid4() ) |
215 |
queuerequest.sessionid = str( uuid.uuid4() ) |
215 |
# create new session / umcp client |
216 |
# create new session / umcp client |
216 |
# add a small offset to the timeout in order to avoid a mismatch between frontend and backend |
217 |
# add a small offset to the timeout in order to avoid a mismatch between frontend and backend |
217 |
client = SessionClient(timeout = _session_timeout + 5) |
218 |
try: |
|
|
219 |
client = SessionClient(timeout = _session_timeout + 5) |
220 |
except Exception, e: |
221 |
CORE.process( 'Failed to create UMC connection: %s' % str(e ) ) |
222 |
response = umcp.Response( queuerequest.request ) |
223 |
response.status = httplib.UNAUTHORIZED # set status to unauthorized |
224 |
queuerequest.response_queue.put( response ) |
225 |
return |
226 |
|
218 |
cls.sessions[queuerequest.sessionid] = client |
227 |
cls.sessions[queuerequest.sessionid] = client |
219 |
callback = notifier.Callback(cls.cleanup_session, queuerequest.sessionid) |
228 |
callback = notifier.Callback(cls.cleanup_session, queuerequest.sessionid) |
220 |
client.client.signal_connect( 'closed', callback ) |
229 |
client.client.signal_connect( 'closed', callback ) |