stdlize the code style

This commit is contained in:
lionsoul 2016-04-07 14:33:58 +08:00
parent e2fdbda2ae
commit 6bf163230b
11 changed files with 86 additions and 86 deletions

View File

@ -20,22 +20,19 @@ IP2R_API uint_t ip2region_create(ip2region_t ip2rObj, char *dbFile)
memset(ip2rObj, 0x00, sizeof(ip2region_entry));
ip2rObj->headerLen = 0;
ip2rObj->HeaderSip = (uint_t *) IP2R_MALLOC(TOTAL_HEADER_LENGTH);
if ( ip2rObj->HeaderSip == NULL )
{
if ( ip2rObj->HeaderSip == NULL ) {
return 0;
}
ip2rObj->HeaderPtr = (uint_t *) IP2R_MALLOC(TOTAL_HEADER_LENGTH);
if ( ip2rObj->HeaderPtr == NULL )
{
if ( ip2rObj->HeaderPtr == NULL ) {
IP2R_FREE(ip2rObj->HeaderSip);
return 0;
}
//open the db file
ip2rObj->dbHandler = fopen(dbFile, "rb");
if ( ip2rObj->dbHandler == NULL )
{
if ( ip2rObj->dbHandler == NULL ) {
IP2R_FREE(ip2rObj->HeaderSip);
IP2R_FREE(ip2rObj->HeaderPtr);
return 0;
@ -61,8 +58,7 @@ IP2R_API uint_t ip2region_destroy(ip2region_t ip2rObj)
ip2rObj->HeaderPtr = NULL;
//close the db file resource
if ( ip2rObj->dbHandler != NULL )
{
if ( ip2rObj->dbHandler != NULL ) {
fclose(ip2rObj->dbHandler);
ip2rObj->dbHandler = NULL;
}
@ -85,8 +81,7 @@ IP2R_API uint_t ip2region_binary_search(ip2region_t ip2rObj, uint_t ip, databloc
char buffer[256];
int dataLen, dataptr;
if ( ip2rObj->totalBlocks == 0 )
{
if ( ip2rObj->totalBlocks == 0 ) {
fseek(ip2rObj->dbHandler, 0, 0);
if ( fread(buffer, 8, 1, ip2rObj->dbHandler) != 1 ) {
return 0;
@ -107,6 +102,7 @@ IP2R_API uint_t ip2region_binary_search(ip2region_t ip2rObj, uint_t ip, databloc
if ( fread(buffer, INDEX_BLOCK_LENGTH, 1, ip2rObj->dbHandler) != 1 ) {
return 0;
}
sip = getUnsignedInt(buffer, 0);
if ( ip < sip ) {
h = m - 1;
@ -162,16 +158,14 @@ IP2R_API uint_t ip2region_btree_search(ip2region_t ip2rObj, uint_t ip, datablock
uint_t sip, eip, idxptr, dptr;
char buffer[TOTAL_HEADER_LENGTH];
if ( ip2rObj->headerLen == 0 )
{
if ( ip2rObj->headerLen == 0 ) {
idx = 0;
fseek(ip2rObj->dbHandler, 8, 0); //pass the super block
if ( fread(buffer, TOTAL_HEADER_LENGTH, 1, ip2rObj->dbHandler) != 1 ) {
return 0;
}
for ( i = 0; i < TOTAL_HEADER_LENGTH; i += 8 )
{
for ( i = 0; i < TOTAL_HEADER_LENGTH; i += 8 ) {
sip = getUnsignedInt(buffer, i);
idxptr = getUnsignedInt(buffer, i + 4);
if ( idxptr == 0 ) break;
@ -307,8 +301,7 @@ IP2R_API uint_t ip2long(char *ip)
char buffer[4], *cs = ip;
uint_t ipval = 0;
while ( *cs != '\0' )
{
while ( *cs != '\0' ) {
if ( *cs == '.' ) {
//single part length limit
if ( i > 3 ) {

View File

@ -68,16 +68,14 @@ int main( int argc, char **argv )
//create a new ip2rObj
printf("+--initializing %s ... \n", algorithm);
if ( ip2region_create(&ip2rEntry, dbFile) == 0 )
{
if ( ip2region_create(&ip2rEntry, dbFile) == 0 ) {
println("Error: Fail to create the ip2region object");
return 0;
}
__PRINT_ABOUT__;
while ( 1 )
{
while ( 1 ) {
print("ip2region>> ");
getLine( stdin, line );
if ( strlen(line) < 2 ) continue;

View File

@ -23,20 +23,24 @@ public class DataBlock
this.region = region;
}
public int getCityId() {
public int getCityId()
{
return city_id;
}
public DataBlock setCityId(int city_id) {
public DataBlock setCityId(int city_id)
{
this.city_id = city_id;
return this;
}
public String getRegion() {
public String getRegion()
{
return region;
}
public DataBlock setRegion(String region) {
public DataBlock setRegion(String region)
{
this.region = region;
return this;
}

View File

@ -25,9 +25,9 @@ public class DbConfig
* @param dataBlockSize
* @throws DbMakerConfigException
*/
public DbConfig( int totalHeaderSize ) throws DbMakerConfigException {
if ( (totalHeaderSize % 8) != 0 )
{
public DbConfig( int totalHeaderSize ) throws DbMakerConfigException
{
if ( (totalHeaderSize % 8) != 0 ) {
throw new DbMakerConfigException("totalHeaderSize must be times of 8");
}
@ -35,24 +35,29 @@ public class DbConfig
this.indexBlockSize = 4096; //4 * 1024
}
public DbConfig() throws DbMakerConfigException {
public DbConfig() throws DbMakerConfigException
{
this(8192);
}
public int getTotalHeaderSize() {
public int getTotalHeaderSize()
{
return totalHeaderSize;
}
public DbConfig setTotalHeaderSize(int totalHeaderSize) {
public DbConfig setTotalHeaderSize(int totalHeaderSize)
{
this.totalHeaderSize = totalHeaderSize;
return this;
}
public int getIndexBlockSize() {
public int getIndexBlockSize()
{
return indexBlockSize;
}
public DbConfig setIndexBlockSize(int dataBlockSize) {
public DbConfig setIndexBlockSize(int dataBlockSize)
{
this.indexBlockSize = dataBlockSize;
return this;
}

View File

@ -88,8 +88,7 @@ public class DbSearcher
public DataBlock btreeSearch( long ip ) throws IOException
{
//check and load the header
if ( HeaderSip == null )
{
if ( HeaderSip == null ) {
raf.seek(8L); //pass the super block
//byte[] b = new byte[dbConfig.getTotalHeaderSize()];
byte[] b = new byte[4096];
@ -121,8 +120,7 @@ public class DbSearcher
}
int l = 0, h = headerLength, sptr = 0, eptr = 0;
while ( l <= h )
{
while ( l <= h ) {
int m = (l + h) >> 1;
//perfetc matched, just return it
@ -230,8 +228,7 @@ public class DbSearcher
public DataBlock binarySearch( long ip ) throws IOException
{
int blen = IndexBlock.getIndexBlockLength();
if ( totalIndexBlocks == 0 )
{
if ( totalIndexBlocks == 0 ) {
raf.seek(0L);
byte[] superBytes = new byte[8];
raf.readFully(superBytes, 0, superBytes.length);

View File

@ -23,20 +23,24 @@ public class HeaderBlock
this.indexPtr = indexPtr;
}
public long getIndexStartIp() {
public long getIndexStartIp()
{
return indexStartIp;
}
public HeaderBlock setIndexStartIp(long indexStartIp) {
public HeaderBlock setIndexStartIp(long indexStartIp)
{
this.indexStartIp = indexStartIp;
return this;
}
public int getIndexPtr() {
public int getIndexPtr()
{
return indexPtr;
}
public HeaderBlock setIndexPtr(int indexPtr) {
public HeaderBlock setIndexPtr(int indexPtr)
{
this.indexPtr = indexPtr;
return this;
}

View File

@ -37,43 +37,52 @@ public class IndexBlock
this.dataLen = dataLen;
}
public long getStartIp() {
public long getStartIp()
{
return startIp;
}
public IndexBlock setStartIp(long startIp) {
public IndexBlock setStartIp(long startIp)
{
this.startIp = startIp;
return this;
}
public long getEndIp() {
public long getEndIp()
{
return endIp;
}
public IndexBlock setEndIp(long endIp) {
public IndexBlock setEndIp(long endIp)
{
this.endIp = endIp;
return this;
}
public int getDataPtr() {
public int getDataPtr()
{
return dataPtr;
}
public IndexBlock setDataPtr(int dataPtr) {
public IndexBlock setDataPtr(int dataPtr)
{
this.dataPtr = dataPtr;
return this;
}
public int getDataLen() {
public int getDataLen()
{
return dataLen;
}
public IndexBlock setDataLen(int dataLen) {
public IndexBlock setDataLen(int dataLen)
{
this.dataLen = dataLen;
return this;
}
public static int getIndexBlockLength() {
public static int getIndexBlockLength()
{
return LENGTH;
}

View File

@ -17,8 +17,7 @@ public class Util
*/
public static void write( byte[] b, int offset, long v, int bytes)
{
for ( int i = 0; i < bytes; i++ )
{
for ( int i = 0; i < bytes; i++ ) {
b[offset++] = (byte)((v >>> (8 * i)) & 0xFF);
}
}
@ -133,8 +132,7 @@ public class Util
String[] p = ip.split("\\.");
if ( p.length != 4 ) return false;
for ( String pp : p )
{
for ( String pp : p ) {
if ( pp.length() > 3 ) return false;
int val = Integer.valueOf(pp);
if ( val > 255 ) return false;

View File

@ -51,8 +51,7 @@ public class TestSearcher
double sTime = 0, cTime = 0;
String line = null;
DataBlock dataBlock = null;
while ( true )
{
while ( true ) {
System.out.print("ip2region>> ");
line = reader.readLine().trim();
if ( line.length() < 2 ) continue;

View File

@ -50,8 +50,7 @@ class Ip2Region
{
//check and conver the ip address
if ( is_string($ip) ) $ip = ip2long($ip);
if ( $this->totalBlocks == 0 )
{
if ( $this->totalBlocks == 0 ) {
fseek($this->dbFileHandler, 0);
$superBlock = fread($this->dbFileHandler, 8);
@ -61,19 +60,18 @@ class Ip2Region
}
//binary search to define the data
$l = 0;
$h = $this->totalBlocks;
$l = 0;
$h = $this->totalBlocks;
$dataPtr = 0;
while ( $l <= $h )
{
$m = (($l + $h) >> 1);
$p = $m * INDEX_BLOCK_LENGTH;
while ( $l <= $h ) {
$m = (($l + $h) >> 1);
$p = $m * INDEX_BLOCK_LENGTH;
fseek($this->dbFileHandler, $this->firstIndexPtr + $p);
$buffer = fread($this->dbFileHandler, INDEX_BLOCK_LENGTH);
$sip = self::getLong($buffer, 0);
if ( $ip < $sip ) {
$h = $m - 1;
$h = $m - 1;
} else {
$eip = self::getLong($buffer, 4);
if ( $ip > $eip ) {
@ -94,7 +92,7 @@ class Ip2Region
$dataPtr = ($dataPtr & 0x00FFFFFF);
fseek($this->dbFileHandler, $dataPtr);
$data = fread($this->dbFileHandler, $dataLen);
$data = fread($this->dbFileHandler, $dataLen);
return array(
'city_id' => self::getLong($data, 0),
@ -113,17 +111,15 @@ class Ip2Region
if ( is_string($ip) ) $ip = ip2long($ip);
//check and load the header
if ( $this->HeaderSip == NULL )
{
if ( $this->HeaderSip == NULL ) {
fseek($this->dbFileHandler, 8);
$buffer = fread($this->dbFileHandler, TOTAL_HEADER_LENGTH);
$buffer = fread($this->dbFileHandler, TOTAL_HEADER_LENGTH);
//fill the header
$idx = 0;
$this->HeaderSip = array();
$this->HeaderPtr = array();
for ( $i = 0; $i < TOTAL_HEADER_LENGTH; $i += 8 )
{
for ( $i = 0; $i < TOTAL_HEADER_LENGTH; $i += 8 ) {
$startIp = self::getLong($buffer, $i);
$dataPtr = self::getLong($buffer, $i + 4);
if ( $dataPtr == 0 ) break;
@ -138,8 +134,7 @@ class Ip2Region
//1. define the index block with the binary search
$l = 0; $h = $this->headerLen; $sptr = 0; $eptr = 0;
while ( $l <= $h )
{
while ( $l <= $h ) {
$m = (($l + $h) >> 1);
//perfetc matched, just return it
@ -234,8 +229,8 @@ class Ip2Region
{
return (
(ord($b[$offset++])) |
(ord($b[$offset++]) << 8) |
(ord($b[$offset++]) << 16) |
(ord($b[$offset++]) << 8) |
(ord($b[$offset++]) << 16) |
(ord($b[$offset ]) << 24)
);
}

View File

@ -5,8 +5,7 @@
* @author chenxin<chenxin619315@gmail.com>
*/
if ( $argc < 2 )
{
if ( $argc < 2 ) {
$usage = <<<EOF
Usage: php Test.php [ip2region db file] [alrogrithm]
+-Algorithm: binary or b-tree\n
@ -15,13 +14,13 @@ EOF;
}
array_shift($argv);
$dbFile = $argv[0];
$method = 1;
$algorithm = 'B-tree';
$dbFile = $argv[0];
$method = 1;
$algorithm = 'B-tree';
if ( isset($argv[1])
&& strtolower($argv[1]) == 'binary' ) {
$method = 2;
$algorithm = 'Binary';
$method = 2;
$algorithm = 'Binary';
}
require dirname(__FILE__) . '/Ip2Region.class.php';
@ -37,8 +36,7 @@ initializing {$algorithm} ...
INIT;
echo $initStr, "\n";
while ( true )
{
while ( true ) {
echo "ip2region>> ";
$line = trim(fgets(STDIN));
if ( strlen($line) < 2 ) continue;
@ -49,7 +47,7 @@ while ( true )
}
$s_time = getTime();
$data = $method==2 ? $ip2regionObj->binarySearch($line) : $ip2regionObj->btreeSearch($line);
$data = $method==2 ? $ip2regionObj->binarySearch($line) : $ip2regionObj->btreeSearch($line);
$c_time = getTime() - $s_time;
printf("%s|%s in %.5f millseconds\n", $data['city_id'], $data['region'], $c_time);
}