replicationstaticslavestorageimpl.java

来自「这个是perst-269.zip下面的SOURCECODE,和大家分享了。」· Java 代码 · 共 52 行

JAVA
52
字号
package org.garret.perst.impl;

import java.io.*;
import java.net.*;

import org.garret.perst.*;


public class ReplicationStaticSlaveStorageImpl extends ReplicationSlaveStorageImpl
{
    public ReplicationStaticSlaveStorageImpl(int port) { 
        this.port = port;
    }

    public void open(IFile file, int pagePoolSize) {
        try { 
            acceptor = new ServerSocket(port);
        } catch (IOException x) {
            throw new StorageError(StorageError.BAD_REPLICATION_PORT);
        }
        byte[] rootPage = new byte[Page.pageSize];
        int rc = file.read(0, rootPage);
        if (rc == Page.pageSize) { 
            prevIndex =  rootPage[DB_HDR_CURR_INDEX_OFFSET];
            initialized = rootPage[DB_HDR_INITIALIZED_OFFSET] != 0;
        } else { 
            initialized = false;
            prevIndex = -1;
        }
        outOfSync = false;
        super.open(file, pagePoolSize);
    }

    Socket getSocket() throws IOException { 
        return acceptor.accept();
    }

    // Cancel accept
    void cancelIO() { 
        try { 
            Socket s = new Socket("localhost", port);
            s.close();
        } catch (IOException x) {}
    }
            

    protected ServerSocket acceptor;
    protected int          port;
}    

    
                                               

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?