bamboo.transport
Class TcpMessageTransport

java.lang.Object
  extended by bamboo.util.StandardStage
      extended by bamboo.transport.TcpMessageTransport
All Implemented Interfaces:
EventHandlerIF, SingleThreadedEventHandlerIF

public class TcpMessageTransport
extends StandardStage
implements SingleThreadedEventHandlerIF

A message transport over TCP using the OceanStore serialization code.

Version:
$Id: TcpMessageTransport.java,v 1.3 2004/03/09 21:17:53 srhea Exp $
Author:
Sean C. Rhea

Nested Class Summary
 class TcpMessageTransport.ChannelState
           
static interface TcpMessageTransport.RecvMsgCb
           
static interface TcpMessageTransport.SendDoneCb
           
 class TcpMessageTransport.SendState
           
protected  class TcpMessageTransport.ServerSocketCb
           
 
Field Summary
protected  Map client_channels
           
protected  InetSocketAddress my_addr
           
protected  Map recv_cbs
           
protected  Map server_channels
           
protected  ServerSocketChannel ssock_channel
           
 
Fields inherited from class bamboo.util.StandardStage
acore, classifier, DEBUG, event_types, inb_msg_types, logger, my_node_id, my_sink, outb_msg_types, sim_running
 
Constructor Summary
TcpMessageTransport()
           
 
Method Summary
 void handleEvent(QueueElementIF item)
           
 void init(ConfigDataIF config)
           
 void register_recv_cb(Class msg_type, TcpMessageTransport.RecvMsgCb cb)
           
 void send(InetSocketAddress dst, ostore.util.QuickSerializable payload, TcpMessageTransport.SendDoneCb cb, Object user_data)
           
 
Methods inherited from class bamboo.util.StandardStage
BUG, BUG, BUG, config_get_boolean, config_get_double, config_get_int, config_get_string, configGetInt, destroy, dispatch, enqueue, handleEvents, lookup_stage, now_ms, timer_ms
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ssock_channel

protected ServerSocketChannel ssock_channel

client_channels

protected Map client_channels

server_channels

protected Map server_channels

recv_cbs

protected Map recv_cbs

my_addr

protected InetSocketAddress my_addr
Constructor Detail

TcpMessageTransport

public TcpMessageTransport()
Method Detail

send

public void send(InetSocketAddress dst,
                 ostore.util.QuickSerializable payload,
                 TcpMessageTransport.SendDoneCb cb,
                 Object user_data)

register_recv_cb

public void register_recv_cb(Class msg_type,
                             TcpMessageTransport.RecvMsgCb cb)

init

public void init(ConfigDataIF config)
          throws Exception
Specified by:
init in interface EventHandlerIF
Overrides:
init in class StandardStage
Throws:
Exception

handleEvent

public void handleEvent(QueueElementIF item)
Specified by:
handleEvent in interface EventHandlerIF
Overrides:
handleEvent in class StandardStage