view src/main/java/alice/codesegment/CodeSegment.java @ 548:b44a2bf16eb3 dispose

add IDS ODS constructor & work TestLocalAlice
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Tue, 25 Aug 2015 19:54:30 +0900
parents 15eeb439830c
children
line wrap: on
line source

package alice.codesegment;

import java.util.ArrayList;

import alice.codesegment.InputDataSegment;
import alice.daemon.AliceDaemon;
import alice.datasegment.Receiver;

public abstract class CodeSegment implements Runnable {

    public InputDataSegment ids = new InputDataSegment(this);
    public OutputDataSegment ods = new OutputDataSegment(this);
    public AliceDaemon aliceDaemon;
    private ArrayList<Receiver> list = new ArrayList<Receiver>();
    private int priority = Thread.NORM_PRIORITY;//?

    public void execute(AliceDaemon aliceDaemon) {
        this.aliceDaemon = aliceDaemon;
        ids.setAliceDaemon(this);
        ods.setAliceDaemon(this);
        ids.receive();
    }

    public void register(Receiver receiver) {
        list.add(receiver);
    }//Receiverを作成?

    public void recycle(){//idsのリセット
        ids.init();
        ids.setCounter(list.size());
        for (Receiver receiver : list) {
            ids.recommand(receiver);
        }
    }

    public int getPriority() {
        return priority;
    }

    public void setPriority(int priority) {
        this.priority = priority;
    }

    public AliceDaemon getAliceDaemon() {
        return aliceDaemon;
    }
}