/** * Init the transport. * @param platform The platform. * @param settings The settings. */ public TCPTransport(final IServiceProvider container, int port, final boolean async) { this.logger = Logger.getLogger(AbstractComponentAdapter.getLoggerName(container.getId())+".TCPTransport"); this.container = container; this.async = async; this.port = port; // Set up sending side. this.connections = SCollection.createLRU(MAX_CONNECTIONS); ((LRU<String, Object>)this.connections).setCleaner(new ILRUEntryCleaner<String, Object>() { public void cleanupEldestEntry(Entry<String, Object> eldest) { Object con = eldest.getValue(); if(con instanceof TCPOutputConnection) { ((TCPOutputConnection)con).close(); } } }); this.connections = Collections.synchronizedMap(this.connections); }
/** * Init the transport. * @param component The platform component. * @param port The port. * @param async true for async mode. */ public TCPTransport(final IInternalAccess component, int port, final boolean async) { this.logger = Logger.getLogger(PlatformComponent.getLoggerName(component.getComponentIdentifier())+".TCPTransport"); this.component = component; this.async = async; this.port = port; // Set up sending side. this.connections = SCollection.createLRU(MAX_CONNECTIONS); ((LRU<String, Object>)this.connections).setCleaner(new ILRUEntryCleaner<String, Object>() { public void cleanupEldestEntry(Entry<String, Object> eldest) { Object con = eldest.getValue(); if(con instanceof TCPOutputConnection) { ((TCPOutputConnection)con).close(); } } }); this.connections = Collections.synchronizedMap(this.connections); }
/** * Init the transport. * @param platform The platform. * @param settings The settings. */ public TCPTransport(final IServiceProvider container, int port, final boolean async) { this.logger = Logger.getLogger(AbstractComponentAdapter.getLoggerName(container.getId())+".TCPTransport"); this.container = container; this.async = async; this.port = port; // Set up sending side. this.connections = SCollection.createLRU(MAX_CONNECTIONS); ((LRU<String, Object>)this.connections).setCleaner(new ILRUEntryCleaner<String, Object>() { public void cleanupEldestEntry(Entry<String, Object> eldest) { Object con = eldest.getValue(); if(con instanceof TCPOutputConnection) { ((TCPOutputConnection)con).close(); } } }); this.connections = Collections.synchronizedMap(this.connections); }
if (cleaner != null) ((LRU) ret).setCleaner((ILRUEntryCleaner) traverser.doTraverse(cleaner, cleaner.getClass(), traversed, processors, clone, targetcl, context));
/** * Decodes and adds sub-objects during decoding. * * @param object The instantiated object. * @param clazz The class of the object. * @param context The decoding context. * @return The finished object. */ public Object decodeSubObjects(Object object, Class<?> clazz, IDecodingContext context) { LRU ret = (LRU) object; int maxentries = (int) context.readVarInt(); ret.setMaxEntries(maxentries); ILRUEntryCleaner cleaner = (ILRUEntryCleaner) BinarySerializer.decodeObject(context); ret.setCleaner(cleaner); int size = (int) context.readVarInt(); for (int i = 0; i < size; ++i) { Object key = BinarySerializer.decodeObject(context); Object value = BinarySerializer.decodeObject(context); ret.put(key, value); } return ret; }
ret.setCleaner((ILRUEntryCleaner)cl);