class SocketServer(asyncore.dispatcher):
	def __init__(self, host, port):
		self.clients = Clients()
		asyncore.dispatcher.__init__(self)
		self.port = port
		self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
		self.set_reuse_addr()
		self.bind((host, port))
		self.bind = host
		self.listen(5)

	def __sock_process(self, socket):
		self.clients.append(socket)
		self.socketHandler = SocketHandler(self, socket)

	#handle when a connection is established and a connect() has been issued, add client
	def handle_accept(self):
		pair = self.accept()
		if pair != None:
			socket, addr = pair
			self.s = Process(target=self.__sock_process(socket), args=[])

			try:
				self.s.start()
			except:
				self.s.terminate()

	#handle when connection is closed and remove client
	def handle_close(self):
		self.clients.remove_all()
		self.s.close()
		print 'Sockets closed'
 def __init__(self):
     self.queue = Queue()
     self.lc = LockContainer(self.queue)
     self.lc.setDaemon(True)
     self.lc.start()
     self.lg = LockSeverDiag(self.lc)
     self.lg.setDaemon(True)
     self.lg.start()
     self.clients = Clients(self.queue)
     self.clients.setDaemon(True)
     self.clients.start()
Exemple #3
0
    def mainstart(self):
        bucle = True
        while bucle:
            try:
                option = int(input("Digita la opción que desees ejecutar: "))
                print()
                if option == 1:
                    Clients().start()
                    self.menu()
                elif option == 2:
                    Vehicles().start()
                    self.menu()
                elif option == 3:
                    Service().start()
                    self.menu()
                elif option == 4:
                    Facturas().get_all()
                    self.menu()
                elif option == 5:
                    Facturas().hola()
                    self.menu()
                elif option == 6:
                    self.menu()
                elif option == 7:
                    bucle = False

                    print()
            except NameError:
                print(NameError)
                print("7. Mostrar menú de modulos [7]")
                print(
                    "La opción digitada es invalida (debe ser un número en el menú)."
                )
                print()
	def __init__(self, host, port):
		self.clients = Clients()
		asyncore.dispatcher.__init__(self)
		self.port = port
		self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
		self.set_reuse_addr()
		self.bind((host, port))
		self.bind = host
		self.listen(5)
 def __init__(self):
     self.queue = Queue()
     self.lc = LockContainer(self.queue)
     self.lc.setDaemon(True)
     self.lc.start()
     self.lg = LockSeverDiag(self.lc)  
     self.lg.setDaemon(True)
     self.lg.start()
     self.clients = Clients(self.queue)
     self.clients.setDaemon(True)
     self.clients.start()  
Exemple #6
0
def main():
    init_logging('/tmp/lockserver.log')
    ebus = eventbus()
    clients = Clients(ebus)
    clients.setDaemon(True)
    clients.start()
    lc = LockContainer(ebus)
    ebus.register_consumer(lc, common.LOCKOP_TOPIC)
    ebus.register_consumer(lc, common.UNREGISTER_TOPIC)
    ebus.register_consumer(clients, common.RESPONSE_TOPIC)
    f = DistComFactory(ebus)
    f.protocol = DistLockComm
    reactor.listenTCP(8000, f)
    reactor.run()
Exemple #7
0
def run():

    clients = Clients()
    clients._load_clients()

    while True:
        command = str(input('''
        Bienvenido, a BanPlatzi tu app de gestion de filas de tu banco

        [A]Agregar cliente a fila de deposito
        [B]Agregar cliente a fila de apertura de cuenta
        [C]Atender cliente
        [D]Listar clientes en fila
        [S]Salir
        ''')).lower()
    
        if command == 'a':
            depositor_name = _get_input_data('nombre del depositante')
            depositor_uid = _get_input_data('numero de identificaion del depositante')
            number_account = _get_input_data('numero de cuenta del cliente')
            found_account = clients.search(number_account)
            if found_account:
                add_to_deposit_queue(number_account, depositor_name, depositor_uid)
            else:
                print(f'La cuenta numero {number_account}, no fue encontrada')


        elif command == 'b':
            name = _get_input_data('nombre del cliente')
            identification = _get_input_data('identificacion de cliente')
            add_to_opening_account_queue(name, identification)
        elif command == 'c':
            queue = input('''
            Elije que fila deseas atender :
            [A] Fila de Depositos
            [B] Fila de Apertura de Cuenta
            ''').lower()

            print('Siguiente Cliente...')
            if queue == 'a':
                try:
                    print('Cliente a atender >> Nombre del depositante: {} - Identificado con C.C N° {} | Numero de cuenta a depositar: {}'.format(deposit_queue[0]['depositor_name'], deposit_queue[0]['depositor_uid'], deposit_queue[0]['number_account']))
                    value = _get_input_data('monto a consignar, no incluyas puntos ni comas - $ ')
                    client = clients.search(deposit_queue[0]['number_account'])

                    clients.deposit(client, value)
                    deposit_queue.popleft()

                except IndexError:
                    print('La fila de Depositos no tiene clientes')

            elif queue == 'b':
                try:
                    print('Cliente a atender >> Nombre del futuro cliente: {} - Identificado con C.C N° {}'.format(account_opening_queue[0]['name'], account_opening_queue[0]['identification']))

                    number_phone = _get_input_data('numero de telefono del cliente: ')
                    email = _get_input_data('email del cliente: ')

                    clients.add(account_opening_queue[0]['name'], account_opening_queue[0]['identification'], number_phone, email)
                    account_opening_queue.popleft()
                except IndexError:
                    print('La fila de Apertura de clientes no tiene clientes')


        elif command == 'd':
            list_clients_queues()
        elif command == 's':
            print('Saliendo...')
            sys.exit()
        else:
            print('Comando invalido, vuelve a intentar.')
	def __init__(self, server, socket):
		self.clients = Clients()
		self.server = server
		self.handshaken = False
		asyncore.dispatcher_with_send.__init__(self, socket);
Exemple #9
0
    SA_SERVICE_PORT = 5000
    TM_SERVICE_HOST = os.environ.get('TM_SERVICE_HOST', 'localhost')
    TM_SERVICE_PORT = 5001
    MONGODB_HOST = os.environ.get('MONGODB_HOST', 'localhost')
    MONGODB_PORT = 27017
MONGODB_DATABASE = os.environ.get('MONGODB_DATABASE', 'tmdata')

print('SA_SERVICE_HOST: {}'.format(SA_SERVICE_HOST))
print('SA_SERVICE_PORT: {}'.format(SA_SERVICE_PORT))
print('TM_SERVICE_HOST: {}'.format(TM_SERVICE_HOST))
print('TM_SERVICE_PORT: {}'.format(TM_SERVICE_PORT))
print('MONGODB_HOST: {}'.format(MONGODB_HOST))
print('MONGODB_PORT: {}'.format(MONGODB_PORT))

db = DBWorker(MONGODB_HOST, MONGODB_PORT, 'taskmaster')
clients = Clients(db)
startTime = datetime.now()

tm = ThematicModeller(host=TM_SERVICE_HOST, port=TM_SERVICE_PORT)
sa = SentimentalAnalyzer(host=SA_SERVICE_HOST, port=SA_SERVICE_PORT)


# using dict of required fields and their types to validate request
def check_request(request, fields):
    errors = []
    if not request.json:
        errors.append('No JSON sent. ' +
                      'Did you forget to set Content-Type header' +
                      ' to application/json?')
        return errors
class SocketHandler(asyncore.dispatcher_with_send):
	handshake = (
        'HTTP/1.1 101 Web Socket Protocol Handshake\r\n'
        'Upgrade: WebSocket\r\n'
        'Connection: Upgrade\r\n'
        'WebSocket-Origin: %(origin)s\r\n'
        'WebSocket-Location: ws://%(bind)s:%(port)s/\r\n'
        'Sec-Websocket-Origin: %(origin)s\r\n'
        'Sec-Websocket-Location: ws://%(bind)s:%(port)s/\r\n'
        'Sec-Websocket-Accept: %(response)s\r\n'
        '\r\n'
	)

	def __init__(self, server, socket):
		self.clients = Clients()
		self.server = server
		self.handshaken = False
		asyncore.dispatcher_with_send.__init__(self, socket);

	def __create_handshake(self, headers):
		print 'Beginning handshake...'
		print headers
		
		h = httpParse(headers)

		#create response key for handshake accept
		guid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'
		key = h['Sec-WebSocket-Key']
		response_key = b64encode(sha1(key + guid).digest())

		handshake = SocketHandler.handshake % {
			'origin': h['Origin'], 
			'port': self.server.port, 
			'bind': self.server.bind, 
			'response': response_key
		}
		return handshake

	#TODO: encode message frame to send message to desktop client
	def __create_frame(self, string):
		encoded = ""
		b1 = 0x80

		b1 |= 0x01
		payload = string

		#add FIN flag
		encoded += chr(b1)

		#second byte never masked
		b2 = 0

		length = payload.__len__()
		if length < 126:
			b2 |= length
			encoded += chr(b2)
		elif length < 65535: # 2^16 -1
			b2 |= 126
			encoded += chr(b2)
			x = struct.pack(">H", length)
			encoded += x
		else:
			x = struct.pack(">Q", length)
			b2 = 126
			encoded += chr(b2)
			encoded += x

		encoded += payload

		return str(encoded)

	#decode message from mobile client
	def __decode_message(self, data):
		bytes = [ord(character) for character in data]
		length = bytes[1] & 127 #following eight bytes used for length
		firstMask = 2

		#special cases
		if length == 126:
			firstMask = 4
		elif length == 127:
			firstMask = 10

		#extract masks to find first data byte
		masks = [m for m in bytes[firstMask : firstMask + 4]]
		firstDataByte = firstMask + 4

		decoded = []
		i = firstDataByte
		j = 0

		while i < bytes.__len__():
			#unmask current byte and add to decoded array
			decoded.append(chr(bytes[i] ^ masks[j % 4]))
			i += 1
			j += 1

		return str(decoded)

	#send data to desktop client
	def __send_to_desktop(self, data):
		clientList = self.clients.get()
		print clientList
		
		#for our purpose there should only be two clients, one desktop, one mobile (for now)
		for c in clientList:
			if c is not self:
				encodedData = self.__create_frame(data)
				c.send(encodedData)

	#handle a read() call
	def handle_read(self):
		data = self.recv(8192)
		if data:
			if self.handshaken is False:
				handshake = self.__create_handshake(data)
				self.handshaken = True
				self.send(handshake)
			else:
				decodedMessage = self.__decode_message(data)
				print 'Decoded Message:'
				print decodedMessage
				print '\n\n'
				self.__send_to_desktop(decodedMessage)
class LockServiceHandler:
    def __init__(self):
        self.queue = Queue()
        self.lc = LockContainer(self.queue)
        self.lc.setDaemon(True)
        self.lc.start()
        self.lg = LockSeverDiag(self.lc)
        self.lg.setDaemon(True)
        self.lg.start()
        self.clients = Clients(self.queue)
        self.clients.setDaemon(True)
        self.clients.start()

    def __del__(self):
        self.clients.stop()

    def lockOp(self, clientId, lockCmd):
        if not self.clients.is_registered(clientId):
            return StatusMsg.CLIENT_NOT_REGISTERED
        if lockCmd.op == LockOperation.UNLOCK:
            logging.debug('Unlock ' + lockCmd.lockId + ' by ' + clientId)
            return self.lc.unlock(clientId, lockCmd.lockId)
        return self.lc.add_lock(clientId, lockCmd.lockId, lockCmd.op)

    def registerClient(self, clientId):
        self.clients.add_client(clientId)
        return StatusMsg.SUCCESS

    def sendHeartBeat(self, clientId):
        if not self.clients.is_registered(clientId):
            return StatusMsg.CLIENT_NOT_REGISTERED
        self.clients.heartbeat(clientId)
        return StatusMsg.SUCCESS

    def reRegisterLocks(self, clientId, locks):
        if not self.clients.is_registered(clientId):
            return StatusMsg.CLIENT_NOT_REGISTERED
        for lock in locks.locks:
            self.lc.add_lock(clientId, lock.lockId, lock.op)
        return StatusMsg.SUCCESS

    def getLockDetails(self, lockid):
        return self.lc.getLockDetails(lockid)

    def getLiveClients(self):
        return self.clients.getClients()

    def unRegisterClient(self, clientId):
        return self.clients.unRegisterClient(clientId)

    def shutDown(self):
        self.clients.stop()
        self.lc.stop()
        self.lg.stop()
Exemple #12
0
 def __init__(self, cnxt):
     self.clients = Clients(**cnxt)
Exemple #13
0
class Discoverer(object):

    def __init__(self, cnxt):
        self.clients = Clients(**cnxt)

    def list_servers(self, *args, **kwargs):
        servers = {}
        for server in self.clients.nova().servers.list():
            servers[server.id] = Server(server.to_dict(), *args, **kwargs)
        return servers

    def list_keypairs(self):
        keypairs = {}
        for keypair in self.clients.nova().keypairs.list():
            keypairs[keypair.id] = KeyPair(keypair.to_dict()['keypair'])
        return keypairs

    def list_netowrks(self):
        networks = {}
        for net in self.clients.neutron().list_networks()['networks']:
            networks[net['id']] = Net(net)
        return networks

    def list_subnets(self):
        subnets = {}
        for subnet in self.clients.neutron().list_subnets()['subnets']:
            subnets[subnet['id']] = Subnet(subnet)
        return subnets

    def list_routers(self):
        routers = {}
        for router in self.clients.neutron().list_routers()['routers']:
            routers[router['id']] = Router(router)
        return routers

    def list_ports(self):
        ports = {}
        for port in self.clients.neutron().list_ports()['ports']:
            device_owner = port.get('device_owner')
            if device_owner is not None and device_owner == 'compute:None':
                ports[port['id']] = Port(port)
        return ports

    def list_floating_ips(self):
        fips = {}
        for floating_ip in \
                self.clients.neutron().list_floatingips()['floatingips']:
            fips[floating_ip['id']] = FloatingIP(floating_ip)
        return fips

    def list_security_groups(self):
        sec_groups = {}
        for sec_group in \
                self.clients.neutron().list_security_groups()[
                    'security_groups']:
            sec_groups[sec_group['id']] = SecurityGroups(sec_group)
        return sec_groups

    def list_resources(self, *args, **kwargs):
        resources = {}
        resources.update(self.list_servers(*args, **kwargs))
        resources.update(self.list_keypairs())
        resources.update(self.list_netowrks())
        resources.update(self.list_subnets())
        resources.update(self.list_routers())
        resources.update(self.list_ports())
        resources.update(self.list_floating_ips())
        resources.update(self.list_security_groups())
        return resources
Exemple #14
0
#PREPROCESSOR AM-CTAC
#Script for the preprocesing of URLs from tickets for the Analizer Module
#____________________________________________________________________________
#____________________________________________________________________________
#Configuration:
#
#The unique parameter that have to be configured is the hours, that represents
#the interval of time in that the script is executed.
#
#_____________________________________________________________________________
from clients import Clients
from tickets import Tickets
from ticketspaths import Ticketpaths
from paths import Paths


#                                 unique parameter
#Tables                                  |
#ticketpaths                             V
ticpaths = Ticketpaths(Clients(),Tickets(8))
paths=Paths(ticpaths)

#Client_score and recurrence
paths.paths_recurrence()
paths.paths_client_score()

#insert_data
    #ticketpaths
ticpaths.tp_insert_data()
    #paths
paths.paths_insert_data()
Exemple #15
0
def run(type, server_conf, memtier_conf, output_dir, base_port=11120, instances=1, duration=30, zipf=False, pin=False, iterations=3):
    server = Server(type, server_conf, base_port, instances)
    clients = Clients(type, memtier_conf, base_port, instances, zipf=zipf)

    server.start_cache()

    if pin:
        server.pin()

    # Warm up
    print('[Main] Warming up cache')
    client_results = clients.warmup()
    memtier_parser = MemtierResultsParser(client_results)
    memtier_parser.read()

    cpu_stats = []
    total_stats = []
    latency_stats = []
    for i in range(iterations):
        print('[Main] Iteration {} started'.format(i))
        server_cpu = server.log_cpu(duration + 1)
        cpu_parser = CPUParser()

        client_results = clients.run_memtier(False)

        memtier_parser = MemtierResultsParser(client_results)

        memtier_parser.read()

        averaged_totals = memtier_parser.get_averaged_totals()
        average_99th = memtier_parser.get_average_99th()
        server_cpu_averages = cpu_parser.get_average_stats(server_cpu)
        server_cpu_labels = cpu_parser.get_labels()

        total_stats.append(averaged_totals)
        latency_stats.append(average_99th)
        cpu_stats.append([server_cpu_averages[key] for key in server_cpu_labels])

        print('[Main] Iteration {} finished'.format(i))
        print('[Main] Totals:', averaged_totals)
        print('[Main] 99th:', average_99th)
        print('[Main] CPU:', server_cpu_averages)


    avg_latency = sum(latency_stats) / float(iterations)
    avg_cpu_stats = []
    for index in range(len(cpu_stats[0])):
        values = [cpu[index] for cpu in cpu_stats]
        avg_cpu_stats.append(sum(values) / float(iterations))

    avg_total_stats = []
    for index in range(len(total_stats[0])):
        values = [cpu[index] for cpu in total_stats]
        avg_total_stats.append(sum(values) / float(iterations))

    print('[Main] Totals:', avg_total_stats)
    print('[Main] 99th:', avg_latency)
    print('[Main] CPU:', avg_cpu_stats)

    # write results
    write(
        ', '.join(memtier_parser.get_totals_headers()),
        avg_total_stats,
        '%s/totals.csv' % output_dir
    )

    write(
        '99th latency',
        [avg_latency],
        '%s/latency.csv' % output_dir
    )

    server_cpu_labels = cpu_parser.get_labels()
    write(
        ', '.join(server_cpu_labels),
        avg_cpu_stats,
        '%s/cpu.csv' % output_dir
    )

    # Clean up
    server.kill_cache()
class LockServiceHandler:
    def __init__(self):
        self.queue = Queue()
        self.lc = LockContainer(self.queue)
        self.lc.setDaemon(True)
        self.lc.start()
        self.lg = LockSeverDiag(self.lc)  
        self.lg.setDaemon(True)
        self.lg.start()
        self.clients = Clients(self.queue)
        self.clients.setDaemon(True)
        self.clients.start()  

    def __del__(self):
        self.clients.stop()

    def lockOp(self, clientId, lockCmd):
        if not self.clients.is_registered(clientId):
            return StatusMsg.CLIENT_NOT_REGISTERED
        if lockCmd.op == LockOperation.UNLOCK:
            logging.debug('Unlock ' + lockCmd.lockId + ' by ' + clientId)
            return self.lc.unlock(clientId, lockCmd.lockId)
        return self.lc.add_lock(clientId, lockCmd.lockId, lockCmd.op) 

    def registerClient(self, clientId):
        self.clients.add_client(clientId)
        return StatusMsg.SUCCESS

    def sendHeartBeat(self, clientId):
        if not self.clients.is_registered(clientId):
            return StatusMsg.CLIENT_NOT_REGISTERED
        self.clients.heartbeat(clientId)
        return StatusMsg.SUCCESS

    def reRegisterLocks(self, clientId, locks):
        if not self.clients.is_registered(clientId):
            return StatusMsg.CLIENT_NOT_REGISTERED
        for lock in locks.locks:
            self.lc.add_lock(clientId, lock.lockId, lock.op) 
        return StatusMsg.SUCCESS

    def getLockDetails(self, lockid):
       return self.lc.getLockDetails(lockid) 

    def getLiveClients(self):
        return self.clients.getClients()

    def unRegisterClient(self, clientId):
        return self.clients.unRegisterClient(clientId)
    
    def shutDown(self):
        self.clients.stop()
        self.lc.stop()
        self.lg.stop()
Exemple #17
0
# import setup_path
import airsim
from slam import Slam
import assistant
from clients import Clients
import numpy as np


tmp_dir = "./img"
assistant.create_directory(tmp_dir)

clients = Clients()
slam = Slam()

airsim.wait_key('Press any key to takeoff')

slam.calibrate_camera(clients.client_2)
clients.takeoff()

assistant.print_state(clients.client_1)

clients.move_and_take_photos()
slam.append(np.array(clients.queue.queue))
#print(slam.images)

#print(slam.images.shape)
slam.estimate_trajectory_dataset()
slam.plot_trajectory()


clients.end()
Exemple #18
0
import time
from clients import Clients, Crandom

# curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{\"task\":\"Read a book\"}" http://127.0.0.1:5000/api/v1/testing
start = True
clc = 1
api_url = 'http://127.0.0.1:5000/api/v1/auth/signin'
# api_url = 'http://127.0.0.1:5000/api/v1/auth/signup'
clientsList = []
json = {'type': "simple", 'user': "******", 'pswd': "q"}

for count in range(clc):
    x = Clients(count, api_url, json)
    clientsList.append(x)

while start:
    for client in clientsList:
        Crandom(client).client_run()

    print("---" * 20)
    time.sleep(2)
Exemple #19
0

def display():
    print(
        "=============================>Networker Ver 1.0<==========================="
    )
    print()
    print("-c => client")
    print("-s => server")
    print("-TCP => establish a TCP client or server")
    print("-UDP => establish a UDP client or server")
    print(
        "--basic => Basic type of server of client which sends and receives the packets"
    )
    print("--type=cat => Bit advanced to the --basic mode")


def about():
    print(
        """=============================>Networker Ver 1.0<===========================
 Networker the Network Bozooka
 Programmed by Visweswaran
 Product of India
 A standard all in 1 tool for performing pen-testing in an environment where other packages failed
 Do not worry if other tools aren't there now for you got a Bazooka with you"""
    )


clients = Clients()
servers = Servers()
Exemple #20
0
from clients import Clients
from parsers.cpu import CPUParser
from parsers.memtier import MemtierResultsParser
from server import Server

s = Server('memcached', '-d -p 11120 -m 1024', 11120, 4)
s.start_cache()

c = Clients('memcached', '-s nsl200 -p 11123 --test-time=30 -c 1 -t 1 -P memcache_binary', 11120, 4)

cpu = s.log_cpu()
cpu_parser = CPUParser()
results = c.run_memtier()

parser = MemtierResultsParser(results)
parser.read()
averages = parser.get_averaged_totals()
average_99th = parser.get_average_99th()