view src/main/java/alice/topology/node/DeleteConnection.java @ 547:e91a574b69de dispose

remove index
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Tue, 18 Aug 2015 16:15:17 +0900
parents 15eeb439830c
children
line wrap: on
line source

package alice.topology.node;

import java.util.List;

import alice.codesegment.CloseEventCodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;
import alice.topology.manager.keeparive.ListManager;

public class DeleteConnection extends CloseEventCodeSegment {

    private Receiver info = ids.create(CommandType.TAKE);
    private Receiver info1 = ids.create(CommandType.TAKE);

    public DeleteConnection() {
        info.setKey("_CLIST", this);
        info1.setKey("_SCHEDULER", this);
    }

    @Override
    public void run() {
        String name = getConnectionInfo().nodeName;
        @SuppressWarnings("unchecked")
        List<String> list = info.asClass(List.class);

        if (list.contains(name))
            list.remove(name);
        if (aliceDaemon.dataSegment.contains(name)) {
            aliceDaemon.dataSegment.get(name).shutdown();
            aliceDaemon.dataSegment.remove(name);
        }
        ListManager manager = info1.asClass(ListManager.class);
        manager.deleteAll(name, aliceDaemon);
        ods.update(info.key, list);
        ods.update(info1.key, manager);
    }

}