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 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();
 }