public ServerConnectionAdapter(IOStream ios, ServerNetworkTableEntryStore sntes, IncomingEntryReceiver ier, ServerAdapterManager sam, NetworkTableEntryTypeManager ntetm, NTThreadManager nttm)
 {
   base.\u002Ector();
   ServerConnectionAdapter connectionAdapter = this;
   this.__\u003C\u003Econnection = new NetworkTableConnection(ios, ntetm);
   this.entryStore = sntes;
   this.transactionReceiver = ier;
   this.adapterListener = sam;
   this.gotoState(ServerConnectionState.__\u003C\u003EGOT_CONNECTION_FROM_CLIENT);
   this.readThread = nttm.newBlockingPeriodicThread((PeriodicRunnable) new ConnectionMonitorThread((ConnectionAdapter) this, this.__\u003C\u003Econnection), "Server Connection Reader Thread");
 }
 public ServerIncomingStreamMonitor(IOStreamProvider iosp, ServerNetworkTableEntryStore sntes, ServerIncomingConnectionListener sicl, ServerAdapterManager sam, NetworkTableEntryTypeManager ntetm, NTThreadManager nttm)
 {
   base.\u002Ector();
   ServerIncomingStreamMonitor incomingStreamMonitor = this;
   this.streamProvider = iosp;
   this.entryStore = sntes;
   this.incomingListener = sicl;
   this.adapterListener = sam;
   this.typeManager = ntetm;
   this.threadManager = nttm;
 }
 public NetworkTableClient(IOStreamFactory iosf, NetworkTableEntryTypeManager ntetm, NTThreadManager nttm)
 {
   NetworkTableClient networkTableClient = this;
   ClientNetworkTableEntryStore cntes;
   this.init((AbstractNetworkTableEntryStore) (cntes = new ClientNetworkTableEntryStore((AbstractNetworkTableEntryStore.TableListenerManager) this)));
   this.adapter = new ClientConnectionAdapter(cntes, nttm, iosf, (ClientConnectionListenerManager) this, ntetm);
   this.writeManager = new WriteManager((FlushableOutgoingEntryReceiver) this.adapter, nttm, this.getEntryStore(), 1000L);
   this.getEntryStore().setOutgoingReceiver((OutgoingEntryReceiver) new TransactionDirtier((OutgoingEntryReceiver) this.writeManager));
   this.getEntryStore().setIncomingReceiver(OutgoingEntryReceiver.NULL);
   this.writeManager.start();
 }
 public ClientConnectionAdapter(ClientNetworkTableEntryStore cntes, NTThreadManager nttm, IOStreamFactory iosf, ClientConnectionListenerManager cclm, NetworkTableEntryTypeManager ntetm)
 {
   base.\u002Ector();
   ClientConnectionAdapter connectionAdapter = this;
   this.connectionState = ClientConnectionState.__\u003C\u003EDISCONNECTED_FROM_SERVER;
   this.connectionLock = (object) new Object();
   this.entryStore = cntes;
   this.streamFactory = iosf;
   this.threadManager = nttm;
   this.connectionListenerManager = cclm;
   this.typeManager = ntetm;
 }
 public NetworkTableServer(IOStreamProvider iosp, NetworkTableEntryTypeManager ntetm, NTThreadManager nttm)
 {
   NetworkTableServer networkTableServer = this;
   ServerNetworkTableEntryStore sntes;
   this.init((AbstractNetworkTableEntryStore) (sntes = new ServerNetworkTableEntryStore((AbstractNetworkTableEntryStore.TableListenerManager) this)));
   this.streamProvider = iosp;
   this.connectionList = new ServerConnectionList();
   this.writeManager = new WriteManager((FlushableOutgoingEntryReceiver) this.connectionList, nttm, this.getEntryStore(), long.MaxValue);
   this.incomingStreamMonitor = new ServerIncomingStreamMonitor(iosp, sntes, (ServerIncomingConnectionListener) this, (ServerAdapterManager) this.connectionList, ntetm, nttm);
   this.getEntryStore().setIncomingReceiver((OutgoingEntryReceiver) new TransactionDirtier((OutgoingEntryReceiver) this.writeManager));
   this.getEntryStore().setOutgoingReceiver((OutgoingEntryReceiver) new TransactionDirtier((OutgoingEntryReceiver) this.writeManager));
   this.incomingStreamMonitor.start();
   this.writeManager.start();
 }
 public WriteManager(FlushableOutgoingEntryReceiver foer, NTThreadManager nttm, AbstractNetworkTableEntryStore antes, long l)
 {
   base.\u002Ector();
   WriteManager writeManager = this;
   this.SLEEP_TIME = 100;
   this.queueSize = 500;
   this.transactionsLock = (object) new Object();
   this.receiver = foer;
   this.threadManager = nttm;
   this.entryStore = antes;
   this.incomingAssignmentQueue = new HalfQueue(500);
   Thread.MemoryBarrier();
   this.incomingUpdateQueue = new HalfQueue(500);
   Thread.MemoryBarrier();
   this.outgoingAssignmentQueue = new HalfQueue(500);
   Thread.MemoryBarrier();
   this.outgoingUpdateQueue = new HalfQueue(500);
   Thread.MemoryBarrier();
   this.keepAliveDelay = l;
 }