/** * allocate a Struct instance from an arbitrary template instance. * * @param aTemplate * @param <S> * @return */ public <S extends FSTStruct> S newStruct(S aTemplate) { return newStruct(aTemplate,alloc); }
/** * allocate a Struct instance from an arbitrary template instance. * * @param aTemplate * @param <S> * @return */ public <S extends FSTStruct> S newStruct(S aTemplate) { return newStruct(aTemplate,alloc); }
/** * create a new struct array of same type as template * @param size * @return */ public <X extends FSTStruct> StructArray<X> newArray(int size, X templ, BytezAllocator alloc) { StructArray<X> aTemplate = new StructArray<X>(size, templ); int siz = getFactory().calcStructSize(aTemplate); try { if ( siz < chunkSize ) return newStruct(aTemplate); else { return getFactory().toStruct(aTemplate,alloc); } } catch (Throwable e) { throw new RuntimeException(e); } }
/** * create a new struct array of same type as template * @param size * @return */ public <X extends FSTStruct> StructArray<X> newArray(int size, X templ, BytezAllocator alloc) { StructArray<X> aTemplate = new StructArray<X>(size, templ); int siz = getFactory().calcStructSize(aTemplate); try { if ( siz < chunkSize ) return newStruct(aTemplate); else { return getFactory().toStruct(aTemplate,alloc); } } catch (Throwable e) { throw new RuntimeException(e); } }
public static DataPacket getTemplate(int packetSize) { int emptyPackSize = new FSTStructAllocator(1).newStruct(new DataPacket()).getByteSize(); DataPacket template = new DataPacket(); int payMaxLen = packetSize - emptyPackSize - 2; template.data = new byte[payMaxLen]; return template; }
public static DataPacket getTemplate(int packetSize) { int emptyPackSize = new FSTStructAllocator(1).newStruct(new DataPacket()).getByteSize(); DataPacket template = new DataPacket(); int payMaxLen = packetSize - emptyPackSize - 2; template.data = new byte[payMaxLen]; return template; }
DatagramPacket p = new DatagramPacket(receiveBuf,receiveBuf.length); ByteBuffer buff = ByteBuffer.wrap(p.getData(), p.getOffset(), p.getLength()); receivedPacket = alloc.newStruct(new Packet()); long idleNanos = System.nanoTime(); receivedPacket.baseOn(receiveBuf, 0);
DatagramPacket p = new DatagramPacket(receiveBuf,receiveBuf.length); ByteBuffer buff = ByteBuffer.wrap(p.getData(), p.getOffset(), p.getLength()); receivedPacket = alloc.newStruct(new Packet()); long idleNanos = System.nanoTime(); receivedPacket.baseOn(receiveBuf, 0);
protected void initDropMsgPacket(String nodeId) { dropMsg = new ControlPacket(); dropMsg.getSender().setString(nodeId); dropMsg.setTopic(topic); dropMsg.setType(ControlPacket.DROPPED); dropMsg = heapAllocator.newStruct(dropMsg); }
protected void initDropMsgPacket(String nodeId) { dropMsg = new ControlPacket(); dropMsg.getSender().setString(nodeId); dropMsg.setTopic(topic); dropMsg.setType(ControlPacket.DROPPED); dropMsg = heapAllocator.newStruct(dropMsg); }
public TransportDriver(PhysicalTransport trans, String nodeId) { this.trans = trans; this.nodeId = alloc.newStruct( new StructString(nodeId) ); final PhysicalTransportConf tconf = trans.getConf(); this.autoFlushMS = tconf.getAutoFlushMS(); this.spinIdleLoopMicros = tconf.getSpinLoopMicros(); this.idleParkMicros = tconf.getIdleParkMicros(); receiver = new ReceiveBufferDispatcher[MAX_NUM_TOPICS]; sender = new PacketSendBuffer[MAX_NUM_TOPICS]; lastMsg = new long[MAX_NUM_TOPICS]; receiverThread = new Thread("trans receiver "+ tconf.getName()) { public void run() { receiveLoop(); } }; receiverThread.start(); houseKeeping = new Thread("trans houseKeeping "+ tconf.getName()) { public void run() { houseKeepingLoop(); } }; houseKeeping.start(); }
public TransportDriver(PhysicalTransport trans, String nodeId) { this.trans = trans; this.nodeId = alloc.newStruct( new StructString(nodeId) ); final PhysicalTransportConf tconf = trans.getConf(); this.autoFlushMS = tconf.getAutoFlushMS(); this.spinIdleLoopMicros = tconf.getSpinLoopMicros(); this.idleParkMicros = tconf.getIdleParkMicros(); receiver = new ReceiveBufferDispatcher[MAX_NUM_TOPICS]; sender = new PacketSendBuffer[MAX_NUM_TOPICS]; lastMsg = new long[MAX_NUM_TOPICS]; receiverThread = new Thread("trans receiver "+ tconf.getName()) { public void run() { receiveLoop(); } }; receiverThread.start(); houseKeeping = new Thread("trans houseKeeping "+ tconf.getName()) { public void run() { houseKeepingLoop(); } }; houseKeeping.start(); }
this.nodeId = packetAllocator.newStruct( new StructString(Packet.MAX_NODE_NAME_LEN) ); this.nodeId.setString(theNodeId); FCLog.log("allocating read buffer for topic '"+topicEntry.getTopicId()+"' of "+(readBuffer.getByteSize()/1024)+" KByte"); retrans = packetAllocator.newStruct(retransTemplate); if ( dGramSize < retrans.getByteSize()+10 ) throw new RuntimeException("datagram size must not be smaller than "+retrans.getByteSize()+10 );
this.nodeId = packetAllocator.newStruct( new StructString(Packet.MAX_NODE_NAME_LEN) ); this.nodeId.setString(theNodeId); FCLog.log("allocating read buffer for topic '"+topicEntry.getTopicId()+"' of "+(readBuffer.getByteSize()/1024)+" KByte"); retrans = packetAllocator.newStruct(retransTemplate); if ( dGramSize < retrans.getByteSize()+10 ) throw new RuntimeException("datagram size must not be smaller than "+retrans.getByteSize()+10 );