summaryrefslogtreecommitdiff
path: root/python/test/Ice/dispatcher/TestI.py
blob: da3ed0a5093fb18ab34bbdd42c03698ae1a44ca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#
# Copyright (c) ZeroC, Inc. All rights reserved.
#

import Ice, Test, Dispatcher, time

def test(b):
    if not b:
        raise RuntimeError('test assertion failed')

class TestIntfI(Test.TestIntf):
    def op(self, current=None):
        test(Dispatcher.Dispatcher.isDispatcherThread())

    def sleep(self, ms, current=None):
        time.sleep(ms / 1000.0)

    def opWithPayload(self, bytes, current=None):
        test(Dispatcher.Dispatcher.isDispatcherThread())

    def shutdown(self, current=None):
        test(Dispatcher.Dispatcher.isDispatcherThread())
        current.adapter.getCommunicator().shutdown()

class TestIntfControllerI(Test.TestIntfController):
    def __init__(self, adapter):
        self._adapter = adapter

    def holdAdapter(self, current=None):
        test(Dispatcher.Dispatcher.isDispatcherThread())
        self._adapter.hold()

    def resumeAdapter(self, current=None):
        test(Dispatcher.Dispatcher.isDispatcherThread())
        self._adapter.activate()