Example #1
0
 def serve(self):
     self.server_socket = coio.nbsocket(socket.AF_INET, socket.SOCK_STREAM)
     self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
     self.server_socket.bind((self.address, self.port))
     self.server_socket.listen(self.listen_queue_size)
     if __debug__: logging.debug('listening on %r' % (self.server_socket.getsockname(),))
     wsgi.WsgiListener(self.server_socket, self.handle_request)
 def _serve(self):
     self.listening_socket = coio.nbsocket(socket.AF_INET, socket.SOCK_STREAM)
     self.listening_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
     self.listening_socket.bind(self.listener)
     self.listening_socket.listen(self.listen_backlog)
     while True:
         conn, addr = self.listening_socket.accept()
         coio.stackless.tasklet(self.handle_connection)(Channel(conn), addr)
         coio.stackless.schedule()
Example #3
0
 def _serve(self):
     self.listening_socket = coio.nbsocket(socket.AF_INET,
                                           socket.SOCK_STREAM)
     self.listening_socket.setsockopt(socket.SOL_SOCKET,
                                      socket.SO_REUSEADDR, 1)
     self.listening_socket.bind(self.listener)
     self.listening_socket.listen(self.listen_backlog)
     while True:
         conn, addr = self.listening_socket.accept()
         coio.stackless.tasklet(self.handle_connection)(Channel(conn), addr)
         coio.stackless.schedule()
Example #4
0
def ConsoleSignalHandler(signum=None):
  """This is called by coio on SIGUSR1."""
  if not console_signal_server:
    console_server_socket = coio.nbsocket(socket.AF_INET, socket.SOCK_STREAM)
    console_server_socket.bind(('127.0.0.1', 0))
    console_server_socket.listen(16)
    filename = '/tmp/syncless.console.port.%s' % (
        console_server_socket.getsockname()[1])
    f = open(filename, 'a')
    try:
      os.unlink(filename)
    except OSError, e:
      if e[0] != errno.ENOENT:  # It's OK if the file was missing.
        raise
    coio.stackless.tasklet(SilentConsoleListener)(console_server_socket)
    console_signal_server[:] = [console_server_socket, f]
def main():
    s = coio.nbsocket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('127.0.0.1', 5555))
    c = Channel(s)
    N = 200000
    M = 16
    message = '.' * M
    byte_count = len(message) * N
    f = Queue()
    coio.stackless.tasklet(rawsocket_echoclient_core.sender)(c, message, N, f)
    coio.stackless.tasklet(rawsocket_echoclient_core.receiver)(c, N, f)
    start_time = timer()
    f.pop()
    f.pop()
    end_time = timer()
    diff_time = end_time - start_time
    print 'Transmission time: %fs' % diff_time
    print '%.2f messages/s, %.2f MB/s' % (float(N*2) / diff_time, (float(byte_count*2) / 2**20) / diff_time)
Example #6
0
def RemoteConsoleListener(bind_addr, bind_port):
  """Listen for RemoteConsole connections, and handle them in tasklets."""
  server_socket = coio.nbsocket(socket.AF_INET, socket.SOCK_STREAM)
  server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  server_socket.bind((bind_addr, bind_port))
  logging.info(
      'RemoteConsole accepting on %r' % (server_socket.getsockname(),))
  baddr = server_socket.getsockname()
  logging.info(
      'connect with: %s -m syncless.backdoor_client %s %s' %
      (sys.executable, baddr[0], baddr[1]))
  logging.info('fallback connect with: telnet %s %s' % baddr[:2])
  logging.info('press Ctrl-<C> to abort the app with the RemoteConsole')
  server_socket.listen(16)
  while True:
    sock, saddr = server_socket.accept()
    coio.stackless.tasklet(RemoteConsoleHandler)(
        sock, saddr, do_check_uid=False)
    sock = saddr = None  # Save memory, allow early close.
def main():
    s = coio.nbsocket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('127.0.0.1', 5555))
    c = Channel(s)
    N = 200000
    M = 16
    message = '.' * M
    byte_count = len(message) * N
    f = Queue()
    coio.stackless.tasklet(rawsocket_echoclient_core.sender)(c, message, N, f)
    coio.stackless.tasklet(rawsocket_echoclient_core.receiver)(c, N, f)
    start_time = timer()
    f.pop()
    f.pop()
    end_time = timer()
    diff_time = end_time - start_time
    print 'Transmission time: %fs' % diff_time
    print '%.2f messages/s, %.2f MB/s' % (float(N * 2) / diff_time,
                                          (float(byte_count * 2) / 2**20) /
                                          diff_time)
Example #8
0
#! /usr/local/bin/stackless2.6
# by [email protected] at Sun Apr 18 16:02:32 CEST 2010

import socket

from syncless import coio

if __name__ == '__main__':
  sock = coio.nbsocket(socket.AF_INET, socket.SOCK_STREAM, 0)
  sock.connect(('gmail-smtp-in.l.google.com', 25))
  #sock.connect(('209.85.218.52', 25))
  print repr(sock.recv(256))  # '220 mx.google.com ESMTP 20si15803912bwz.24'
  print 'Exiting.'
  # Won't exit because we did DNS lookups with coio (evdns).
  #coio.stackless.schedule_remove(None)