Ejemplo n.º 1
0
 def discover_remote(self, destination):
     request = Request()
     assert (isinstance(destination, str))
     split = destination.split(":", 1)
     host = split[0]
     port = int(split[1])
     server = (host, port)
     request.destination = (host, port)
     request.type = defines.inv_types["CON"]
     request._mid = (self._currentMID + 1) % (1 << 16)
     request.code = defines.inv_codes["GET"]
     uri = "/" + defines.DISCOVERY_URL
     request.proxy_uri = uri
     client = HelperClient(server, True)
     token = self.generate_token()
     function = client.protocol.get
     args = (uri,)
     kwargs = {"Token": str(token)}
     callback = self.discover_remote_results
     err_callback = self.discover_remote_error
     operations = [(function, args, kwargs, (callback, err_callback))]
     key = hash(str(host) + str(port) + str(token))
     self._forward[key] = request
     key = hash(str(host) + str(port) + str((client.starting_mid + 1) % (1 << 16)))
     self._forward_mid[key] = request
     client.start(operations)
Ejemplo n.º 2
0
 def map(self, request):
     path = request.uri_path
     if request.uri_path == defines.DISCOVERY_URL:
         response = Response()
         response.destination = request.source
         response = self._resource_layer.discover(request, response)
         self.result_forward(response, request)
     server = self.root.find_complete(path)
     if server is not None:
         new_request = Request()
         segments = server.find_path().split("/")
         path = segments[2:]
         path = "/".join(path)
         segments = segments[1].split(":")
         host = segments[0]
         port = int(segments[1])
         # new_request.destination = (host, port)
         new_request.source = request.source
         new_request.type = request.type
         new_request._mid = (self._currentMID + 1) % (1 << 16)
         new_request.code = request.code
         new_request.proxy_uri = "coap://" + str(host) + ":" + str(port) + "/" + path
         new_request.payload = request.payload
         for option in request.options:
             if option.name == defines.inv_options["Uri-Path"]:
                 continue
             if option.name == defines.inv_options["Uri-Query"]:
                 continue
             if option.name == defines.inv_options["Uri-Host"]:
                 continue
             new_request.add_option(option)
         return new_request
     return None
Ejemplo n.º 3
0
    def test_get_multiple(self):
        print "TEST_GET_MULTIPLE"
        path = "/basic"
        req = Request()
        req.code = defines.Codes.GET.number
        req.uri_path = path
        req.type = defines.Types["CON"]
        req._mid = self.current_mid
        req.destination = self.server_address
        req.proxy_uri = "coap://127.0.0.1:5684/basic"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Basic Resource"

        exchange1 = (req, expected)

        self.current_mid += 1

        #PREPARING SECOND EXPECTED RESPONSE (MAX AGE MUST BE CHECKED)
        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/basic"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Basic Resource"
        expected.max_age = 61

        exchange2 = (req2, expected)

        self._test_with_client_delayed([exchange1, exchange2])
Ejemplo n.º 4
0
    def test_get_multiple(self):
        print "TEST_GET_MULTIPLE"
        path = "/basic"
        req = Request()
        req.code = defines.Codes.GET.number
        req.uri_path = path
        req.type = defines.Types["CON"]
        req._mid = self.current_mid
        req.destination = self.server_address
        req.proxy_uri = "coap://127.0.0.1:5684/basic"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Basic Resource"

        exchange1 = (req, expected)

        self.current_mid += 1

        # PREPARING SECOND EXPECTED RESPONSE (MAX AGE MUST BE CHECKED)
        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/basic"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Basic Resource"
        expected.max_age = 61

        exchange2 = (req2, expected)

        self._test_with_client_delayed([exchange1, exchange2])
Ejemplo n.º 5
0
def callback():
    try:
        index = listbox.curselection()[0]
        # get the line's text
        server_text = str(listbox.get(index))
        if (server_text == ""):
            print "ERROR : Empty selection"
            return
    except:
        print "ERROR !"
        return AttributeError
    proxy_texter = str(label_proxy.cget("text"))
    text_test = path_text.get("1.0", END)
    path_texter = str(text_test)
    print "Selected : " + str(server_text)
    print "chosen path : " + str(path_texter)
    server_text = "198.199.92.83"
    proxy_texter = "104.236.174.175"
    # Setting up the application
    setup_time_begin = time.time()
    server_address = (str(proxy_texter), 5684)
    current_mid = random.randint(1, 1000)
    client = HelperClient(server_address)
    setup_time_end = time.time()

    print "Starting the first request"
    print "\nRequesting for Resource 1"
    first_request_begin = time.time()
    # Starting first request
    path = "/basic1"
    req = Request()
    req._usecache = use_cache
    req.code = defines.Codes.GET.number
    req.uri_path = path
    req.type = defines.Types["CON"]
    req._mid = current_mid
    req.destination = server_address
    req.proxy_uri = "coap://" + str(server_text) + ":5683/basic1"
    received_message = client.send_request(req)
    first_request_end = time.time()
    time.sleep(21)

    print "Starting the second request"
    print "\nRequesting for Resource 1 again"
    second_request_begin = time.time()
    # Starting second request
    current_mid = current_mid + 1
    req2 = Request()
    req2._usecache = use_cache
    req2.code = defines.Codes.GET.number
    path = "/basic1"
    req2.uri_path = path
    req2.type = defines.Types["CON"]
    req2._mid = current_mid
    req2.destination = server_address
    req2.proxy_uri = "coap://" + server_text + ":5683/basic1"
    received_message = client.send_request(req2)
    second_request_end = time.time()

    time.sleep(5)

    print "Tearing down application"
    # Tearing down application
    print "DONE !"
    print "-------------------"
    print "Printing Analytics"
    print "--------------------"
    print "Build Time : " + str(setup_time_end - setup_time_begin)
    print "First request : " + str(first_request_end - first_request_begin)
    print "Second request : " + str(second_request_end - second_request_begin)
    print "--------------------------"
    print "TOTAL TIME TAKEN : " + str(
        (second_request_end - second_request_begin) +
        (first_request_end - first_request_begin))
    print "--------------------------"
Ejemplo n.º 6
0
    def test_get_etag(self):
        print "TEST_GET_ETAG"
        path = "/etag"
        req = Request()
        req.code = defines.Codes.GET.number
        req.uri_path = path
        req.type = defines.Types["CON"]
        req._mid = self.current_mid
        req.destination = self.server_address
        req.proxy_uri = "coap://127.0.0.1:5684/etag"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = None

        exchange1 = (req, expected)

        self.current_mid += 1

        # PREPARING SECOND EXPECTED RESPONSE
        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/etag"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.etag = 1
        expected.max_age = 1

        exchange2 = (req2, expected)

        self.current_mid += 1

        # PREPARING THIRD EXPECTED RESPONSE
        req3 = Request()
        req3.code = defines.Codes.POST.number
        req3.uri_path = path
        req3.type = defines.Types["CON"]
        req3._mid = self.current_mid
        req3.destination = self.server_address
        req3.proxy_uri = "coap://127.0.0.1:5684/etag"
        req3.payload = "Hello"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CHANGED.number
        expected.token = None
        expected.payload = None
        expected.etag = 2
        expected.location_path = "etag"

        exchange3 = (req3, expected)

        self.current_mid += 1

        # PREPARING FOURTH EXPECTED RESPONSE
        req4 = Request()
        req4.code = defines.Codes.GET.number
        req4.uri_path = path
        req4.type = defines.Types["CON"]
        req4._mid = self.current_mid
        req4.destination = self.server_address
        req4.proxy_uri = "coap://127.0.0.1:5684/etag"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Hello"
        expected.etag = 2

        exchange4 = (req4, expected)

        self.current_mid += 1

        self._test_with_client_delayed(
            [exchange1, exchange2, exchange3, exchange4])
Ejemplo n.º 7
0
    def test_get_delete(self):
        print "TEST_GET_DELETE"
        path = "/basic"

        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.NOT_FOUND.number
        expected.token = None
        expected.payload = None

        exchange0 = (req2, expected)

        self.current_mid += 1

        req = Request()
        req.code = defines.Codes.POST.number
        req.uri_path = path
        req.type = defines.Types["CON"]
        req._mid = self.current_mid
        req.destination = self.server_address
        req.proxy_uri = "coap://127.0.0.1:5684/storage/new"
        req.payload = "Hello"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CREATED.number
        expected.token = None
        expected.payload = None

        exchange1 = (req, expected)

        self.current_mid += 1

        # PREPARING SECOND EXPECTED RESPONSE
        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Hello"

        exchange2 = (req2, expected)

        self.current_mid += 1

        # PREPARING THIRD EXPECTED RESPONSE
        req3 = Request()
        req3.code = defines.Codes.DELETE.number
        req3.uri_path = path
        req3.type = defines.Types["CON"]
        req3._mid = self.current_mid
        req3.destination = self.server_address
        req3.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.DELETED.number
        expected.token = None
        expected.payload = None

        exchange3 = (req3, expected)

        self.current_mid += 1

        # PREPARING FOURTH EXPECTED RESPONSE
        req4 = Request()
        req4.code = defines.Codes.GET.number
        req4.uri_path = path
        req4.type = defines.Types["CON"]
        req4._mid = self.current_mid
        req4.destination = self.server_address
        req4.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.NOT_FOUND.number
        expected.token = None

        exchange4 = (req4, expected)

        self.current_mid += 1

        self._test_with_client_delayed(
            [exchange0, exchange1, exchange2, exchange3, exchange4])
Ejemplo n.º 8
0
    def test_get_etag(self):
        print "TEST_GET_ETAG"
        path = "/etag"
        req = Request()
        req.code = defines.Codes.GET.number
        req.uri_path = path
        req.type = defines.Types["CON"]
        req._mid = self.current_mid
        req.destination = self.server_address
        req.proxy_uri = "coap://127.0.0.1:5684/etag"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = None
        expected.etag = str(0)

        exchange1 = (req, expected)

        self.current_mid += 1

        # PREPARING SECOND EXPECTED RESPONSE
        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/etag"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.etag = str(0)
        expected.max_age = 1

        exchange2 = (req2, expected)

        self.current_mid += 1

        # PREPARING THIRD EXPECTED RESPONSE
        req3 = Request()
        req3.code = defines.Codes.POST.number
        req3.uri_path = path
        req3.type = defines.Types["CON"]
        req3._mid = self.current_mid
        req3.destination = self.server_address
        req3.proxy_uri = "coap://127.0.0.1:5684/etag"
        req3.payload = "Hello"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CHANGED.number
        expected.token = None
        expected.payload = None
        expected.etag = str(1)
        expected.location_path = "etag"

        exchange3 = (req3, expected)

        self.current_mid += 1

        # PREPARING FOURTH EXPECTED RESPONSE
        req4 = Request()
        req4.code = defines.Codes.GET.number
        req4.uri_path = path
        req4.type = defines.Types["CON"]
        req4._mid = self.current_mid
        req4.destination = self.server_address
        req4.proxy_uri = "coap://127.0.0.1:5684/etag"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Hello"
        expected.etag = str(1)

        exchange4 = (req4, expected)

        self.current_mid += 1

        self._test_with_client_delayed([exchange1, exchange2, exchange3, exchange4])
Ejemplo n.º 9
0
    def test_get_delete(self):
        print "TEST_GET_DELETE"
        path = "/basic"

        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.NOT_FOUND.number
        expected.token = None
        expected.payload = None

        exchange0 = (req2, expected)

        self.current_mid += 1

        req = Request()
        req.code = defines.Codes.POST.number
        req.uri_path = path
        req.type = defines.Types["CON"]
        req._mid = self.current_mid
        req.destination = self.server_address
        req.proxy_uri = "coap://127.0.0.1:5684/storage/new"
        req.payload = "Hello"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CREATED.number
        expected.token = None
        expected.payload = None

        exchange1 = (req, expected)

        self.current_mid += 1

        # PREPARING SECOND EXPECTED RESPONSE
        req2 = Request()
        req2.code = defines.Codes.GET.number
        req2.uri_path = path
        req2.type = defines.Types["CON"]
        req2._mid = self.current_mid
        req2.destination = self.server_address
        req2.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.CONTENT.number
        expected.token = None
        expected.payload = "Hello"

        exchange2 = (req2, expected)

        self.current_mid += 1

        # PREPARING THIRD EXPECTED RESPONSE
        req3 = Request()
        req3.code = defines.Codes.DELETE.number
        req3.uri_path = path
        req3.type = defines.Types["CON"]
        req3._mid = self.current_mid
        req3.destination = self.server_address
        req3.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.DELETED.number
        expected.token = None
        expected.payload = None

        exchange3 = (req3, expected)

        self.current_mid += 1

        # PREPARING FOURTH EXPECTED RESPONSE
        req4 = Request()
        req4.code = defines.Codes.GET.number
        req4.uri_path = path
        req4.type = defines.Types["CON"]
        req4._mid = self.current_mid
        req4.destination = self.server_address
        req4.proxy_uri = "coap://127.0.0.1:5684/storage/new"

        expected = Response()
        expected.type = defines.Types["ACK"]
        expected._mid = self.current_mid
        expected.code = defines.Codes.NOT_FOUND.number
        expected.token = None

        exchange4 = (req4, expected)

        self.current_mid += 1

        self._test_with_client_delayed([exchange0, exchange1, exchange2, exchange3, exchange4])
Ejemplo n.º 10
0
def callback():
    try:
        index = listbox.curselection()[0]
        # get the line's text
        server_text = str(listbox.get(index))
        if (server_text == ""):
            print "ERROR : Empty selection"
            return
    except:
        print "ERROR !"
        return AttributeError
    proxy_texter = str(label_proxy.cget("text"))
    text_test = path_text.get("1.0", END)
    path_texter = str(text_test)
    print "Selected : " + str(server_text)
    print "chosen path : " + str(path_texter)
    server_text = "198.199.92.83"
    proxy_texter = "104.236.174.175"
    # Setting up the application
    setup_time_begin = time.time()
    server_address = (str(proxy_texter), 5684)
    current_mid = random.randint(1, 1000)
    client = HelperClient(server_address)
    setup_time_end = time.time()

    print "Starting the first request"
    print "\nRequesting for Resource 1"
    first_request_begin = time.time()
    # Starting first request
    path = "/basic1"
    req = Request()
    req._usecache = use_cache
    req.code = defines.Codes.GET.number
    req.uri_path = path
    req.type = defines.Types["CON"]
    req._mid = current_mid
    req.destination = server_address
    req.proxy_uri = "coap://" + str(server_text) + ":5683/basic1"
    received_message = client.send_request(req)
    first_request_end = time.time()
    time.sleep(5)

    print "Starting the second request"
    print "\nRequesting for Resource 2"
    second_request_begin = time.time()
    # Starting second request
    current_mid = current_mid + 1
    req2 = Request()
    req2._usecache = use_cache
    req2.code = defines.Codes.GET.number
    path = "/basic2"
    req2.uri_path = path
    req2.type = defines.Types["CON"]
    req2._mid = current_mid
    req2.destination = server_address
    req2.proxy_uri = "coap://" + server_text + ":5683/basic2"
    received_message = client.send_request(req2)
    second_request_end = time.time()

    time.sleep(5)

    print "Starting the third request"
    print "\nRequesting for Resource 3"
    third_request_begin = time.time()
    # Starting third request
    current_mid = current_mid + 1
    req3 = Request()
    req3._usecache = use_cache
    req3.code = defines.Codes.GET.number
    path = "/basic3"
    req3.uri_path = path
    req3.type = defines.Types["CON"]
    req3._mid = current_mid
    req3.destination = server_address
    req3.proxy_uri = "coap://" + server_text + ":5683/basic3"
    received_message = client.send_request(req3)
    third_request_end = time.time()
    time.sleep(5)

    print "Starting the fourth request"
    print "\nRequesting for Resource 1 again"
    fourth_request_begin = time.time()
    # Starting first request
    path = "/basic1"
    current_mid = current_mid + 1
    req4 = Request()
    req4._usecache = use_cache
    req4.code = defines.Codes.GET.number
    req4.uri_path = path
    req4.type = defines.Types["CON"]
    req4._mid = current_mid
    req4.destination = server_address
    req4.proxy_uri = "coap://" + server_text + ":5683/basic1"
    received_message = client.send_request(req4)
    fourth_request_end = time.time()
    time.sleep(5)

    print "Starting the fifth request"
    print "\nRequesting for Resource 2 again"
    fifth_request_begin = time.time()
    # Starting second request
    current_mid = current_mid + 1
    req5 = Request()
    req5._usecache = use_cache
    req5.code = defines.Codes.GET.number
    path = "/basic2"
    req5.uri_path = path
    req5.type = defines.Types["CON"]
    req5._mid = current_mid
    req5.destination = server_address
    req5.proxy_uri = "coap://" + server_text + ":5683/basic2"
    received_message = client.send_request(req5)
    fifth_request_end = time.time()
    time.sleep(5)

    print "Starting the sixth request"
    print "\nRequesting for Resource 3 again"
    # Starting third request
    sixth_request_begin = time.time()
    current_mid = current_mid + 1
    req6 = Request()
    req6._usecache = use_cache
    req6.code = defines.Codes.GET.number
    path = "/basic3"
    req6.uri_path = path
    req6.type = defines.Types["CON"]
    req6._mid = current_mid
    req6.destination = server_address
    req6.proxy_uri = "coap://" + server_text + ":5683/basic3"
    received_message = client.send_request(req6)
    sixth_request_end = time.time()
    time.sleep(5)

    print "Starting the seventh request"
    print "\nRequesting for Resource 4"
    seventh_request_begin = time.time()
    # Starting first request
    path = "/basic4"
    current_mid = current_mid + 1
    req7 = Request()
    req7._usecache = use_cache
    req7.code = defines.Codes.GET.number
    req7.uri_path = path
    req7.type = defines.Types["CON"]
    req7._mid = current_mid
    req7.destination = server_address
    req7.proxy_uri = "coap://" + server_text + ":5683/basic4"
    received_message = client.send_request(req7)
    seventh_request_end = time.time()
    time.sleep(5)

    print "Starting the eighth request"
    print "\nRequesting for Resource 5"
    eighth_request_begin = time.time()
    # Starting second request
    current_mid = current_mid + 1
    req8 = Request()
    req8._usecache = use_cache
    req8.code = defines.Codes.GET.number
    path = "/basic5"
    req8.uri_path = path
    req8.type = defines.Types["CON"]
    req8._mid = current_mid
    req8.destination = server_address
    req8.proxy_uri = "coap://" + server_text + ":5683/basic5"
    received_message = client.send_request(req8)
    eighth_request_end = time.time()
    time.sleep(5)

    print "Starting the ninth request"
    print "\nRequesting for Resource 6"
    ninth_request_begin = time.time()
    # Starting third request
    current_mid = current_mid + 1
    req9 = Request()
    req9._usecache = use_cache
    req9.code = defines.Codes.GET.number
    path = "/basic6"
    req9.uri_path = path
    req9.type = defines.Types["CON"]
    req9._mid = current_mid
    req9.destination = server_address
    req9.proxy_uri = "coap://" + server_text + ":5683/basic6"
    received_message = client.send_request(req9)
    ninth_request_end = time.time()
    time.sleep(5)

    print "Starting the tenth request"
    print "\nRequesting for Resource 4 again"
    tenth_request_begin = time.time()
    # Starting third request
    current_mid = current_mid + 1
    req10 = Request()
    req10._usecache = use_cache
    req10.code = defines.Codes.GET.number
    path = "/basic4"
    req10.uri_path = path
    req10.type = defines.Types["CON"]
    req10._mid = current_mid
    req10.destination = server_address
    req10.proxy_uri = "coap://" + server_text + ":5683/basic4"
    received_message = client.send_request(req10)
    tenth_request_end = time.time()
    time.sleep(5)

    print "Starting the eleven request"
    print "\nRequesting for Resource 7"
    eleventh_request_begin = time.time()
    # Starting third request
    current_mid = current_mid + 1
    req11 = Request()
    req11._usecache = use_cache
    req11.code = defines.Codes.GET.number
    path = "/basic7"
    req11.uri_path = path
    req11.type = defines.Types["CON"]
    req11._mid = current_mid
    req11.destination = server_address
    req11.proxy_uri = "coap://" + server_text + ":5683/basic7"
    received_message = client.send_request(req11)
    eleventh_request_end = time.time()
    print "Tearing down application"
    # Tearing down application
    print "DONE !"
    print "-------------------"
    print "Printing Analytics"
    print "--------------------"
    print "Build Time : " + str(setup_time_end - setup_time_begin)
    print "First request : " + str(first_request_end - first_request_begin)
    print "Second request : " + str(second_request_end - second_request_begin)
    print "Third request : " + str(third_request_end - third_request_begin)
    print "Fourth request : " + str(fourth_request_end - fourth_request_begin)
    print "Fifth request : " + str(fifth_request_end - fifth_request_begin)
    print "Sixth request : " + str(sixth_request_end - sixth_request_begin)
    print "Seventh request : " + str(seventh_request_end -
                                     seventh_request_begin)
    print "Eighth request : " + str(eighth_request_end - eighth_request_begin)
    print "Ninth request : " + str(ninth_request_end - ninth_request_begin)
    print "Tenth request : " + str(tenth_request_end - tenth_request_begin)
    print "Eleventh request : " + str(eleventh_request_end -
                                      eleventh_request_begin)
    print "--------------------------"
    print "TOTAL TIME TAKEN : " + str(
        (first_request_end - first_request_begin) +
        (second_request_end - second_request_begin) +
        (third_request_end - third_request_begin) +
        (fourth_request_end - fourth_request_begin) +
        (fifth_request_end - fifth_request_begin) +
        (sixth_request_end - sixth_request_begin) +
        (seventh_request_end - seventh_request_begin) +
        (eighth_request_end - eighth_request_begin) +
        (ninth_request_end - ninth_request_begin) +
        (tenth_request_end - tenth_request_begin) +
        (eleventh_request_end - eleventh_request_begin))
    print "--------------------------"