InfiniSQL  v0.1.2-alpha
Massive Scale Transaction Processing
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Listener.h File Reference

On each host, this actor accepts new connections and distributes incoming network traffic from clients to Transaction Agents. More...

#include "gch.h"
Include dependency graph for Listener.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Listener
 execute Listener actor More...
 

Functions

void * listener (void *identity)
 launch Listener actor More...
 

Detailed Description

On each host, this actor accepts new connections and distributes incoming network traffic from clients to Transaction Agents.

Author
Mark Travis mtrav.nosp@m.is15.nosp@m.432+s.nosp@m.rc@g.nosp@m.mail..nosp@m.com
Date
Tue Dec 17 13:29:01 2013

There is only one listener per host. It takes a small amount of coding effort to allow for multiple listeners per host. But no workload as yet (benchmarked on 12-core Xeon) has been shown to warrant multiple listeners. It's very possible that larger hosts may benefit from distributing incoming TCP/IP traffic across multiple listeners, and the effort to allow that won't be difficult to implement.

Definition in file Listener.h.

Function Documentation

void* listener ( void *  identity)

launch Listener actor

Parameters
identityhow to identify Listener instance
Returns

Definition at line 201 of file Listener.cc.

202 {
203  new Listener((Topology::partitionAddress *)identity);
204  while (1)
205  {
206  sleep(250000);
207  }
208  return NULL;
209 }