Changeset e120a8a


Ignore:
Timestamp:
Nov 8, 2015 6:49:05 PM (5 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
1aed266
Parents:
a3e16614
Message:

Don't use DataHelper?.readLong() for 1-byte reads, for efficiency

File:
1 edited

Legend:

Unmodified
Added
Removed
  • router/java/src/net/i2p/router/transport/udp/UDPPacketReader.java

    ra3e16614 re120a8a  
    186186        public int readIPSize() {
    187187            int offset = readBodyOffset() + X_LENGTH;
    188             return (int)DataHelper.fromLong(_message, offset, 1);
     188            return _message[offset] & 0xff;
    189189        }
    190190       
     
    192192        public void readIP(byte target[], int targetOffset) {
    193193            int offset = readBodyOffset() + X_LENGTH;
    194             int size = (int)DataHelper.fromLong(_message, offset, 1);
     194            int size = _message[offset] & 0xff;
    195195            offset++;
    196196            System.arraycopy(_message, offset, target, targetOffset, size);
     
    209209        public int readIPSize() {
    210210            int offset = readBodyOffset() + Y_LENGTH;
    211             return (int)DataHelper.fromLong(_message, offset, 1);
     211            return _message[offset] & 0xff;
    212212        }
    213213       
     
    215215        public void readIP(byte target[], int targetOffset) {
    216216            int offset = readBodyOffset() + Y_LENGTH;
    217             int size = (int)DataHelper.fromLong(_message, offset, 1);
     217            int size = _message[offset] & 0xff;
    218218            offset++;
    219219            System.arraycopy(_message, offset, target, targetOffset, size);
     
    341341            if (!readACKsIncluded()) return 0;
    342342            int off = readBodyOffset() + 1;
    343             return (int)DataHelper.fromLong(_message, off, 1);
     343            return _message[off] & 0xff;
    344344        }
    345345
     
    356356            int off = readBodyOffset() + 1;
    357357            if (readACKsIncluded()) {
    358                 int numACKs = (int)DataHelper.fromLong(_message, off, 1);
     358                int numACKs = _message[off] & 0xff;
    359359                off++;
    360360                off += 4 * numACKs;
    361361            }
    362362           
    363             int numBitfields = (int)DataHelper.fromLong(_message, off, 1);
     363            int numBitfields = _message[off] & 0xff;
    364364            off++;
    365365           
     
    375375            int off = readBodyOffset() + 1;
    376376            if (readACKsIncluded()) {
    377                 int numACKs = (int)DataHelper.fromLong(_message, off, 1);
     377                int numACKs = _message[off] & 0xff;
    378378                off++;
    379379                off += 4 * numACKs;
    380380            }
    381381            if (readACKBitfieldsIncluded()) {
    382                 int numBitfields = (int)DataHelper.fromLong(_message, off, 1);
     382                int numBitfields = _message[off] & 0xff;
    383383                off++;
    384384
     
    389389            }
    390390            if (readExtendedDataIncluded()) {
    391                 int size = (int)DataHelper.fromLong(_message, off, 1);
     391                int size = _message[off] & 0xff;
    392392                off++;
    393393                off += size;
     
    431431            int off = readBodyOffset() + 1;
    432432            if (readACKsIncluded()) {
    433                 int numACKs = (int)DataHelper.fromLong(_message, off, 1);
     433                int numACKs = _message[off] & 0xff;
    434434                off++;
    435435                off += 4 * numACKs;
    436436            }
    437437            if (readACKBitfieldsIncluded()) {
    438                 int numBitfields = (int)DataHelper.fromLong(_message, off, 1);
     438                int numBitfields = _message[off] & 0xff;
    439439                off++;
    440440
     
    446446            }
    447447            if (readExtendedDataIncluded()) {
    448                 int size = (int)DataHelper.fromLong(_message, off, 1);
     448                int size = _message[off] & 0xff;
    449449                off++;
    450450                off += size;
     
    477477            int off = readBodyOffset() + 1;
    478478            if (readACKsIncluded()) {
    479                 int numACKs = (int)DataHelper.fromLong(_message, off, 1);
     479                int numACKs = _message[off] & 0xff;
    480480                off++;
    481481                buf.append("with ACKs for ");
     
    486486            }
    487487            if (readACKBitfieldsIncluded()) {
    488                 int numBitfields = (int)DataHelper.fromLong(_message, off, 1);
     488                int numBitfields = _message[off] & 0xff;
    489489                off++;
    490490                buf.append("with partial ACKs for ");
     
    502502            }
    503503            if (readExtendedDataIncluded()) {
    504                 int size = (int)DataHelper.fromLong(_message, off, 1);
     504                int size = _message[off] & 0xff;
    505505                off++;
    506506                buf.append("with extended size of ");
     
    510510            }
    511511           
    512             int numFragments = (int)DataHelper.fromLong(_message, off, 1);
     512            int numFragments = _message[off] & 0xff;
    513513            off++;
    514514            buf.append("with fragmentCount of ");
     
    654654        public int readIPSize() {
    655655            int offset = readBodyOffset() + NONCE_LENGTH;
    656             return (int)DataHelper.fromLong(_message, offset, 1);
     656            return _message[offset] & 0xff;
    657657        }
    658658       
     
    660660        public void readIP(byte target[], int targetOffset) {
    661661            int offset = readBodyOffset() + NONCE_LENGTH;
    662             int size = (int)DataHelper.fromLong(_message, offset, 1);
     662            int size = _message[offset] & 0xff;
    663663            offset++;
    664664            System.arraycopy(_message, offset, target, targetOffset, size);
     
    668668        public int readPort() {
    669669            int offset = readBodyOffset() + NONCE_LENGTH;
    670             int size = (int)DataHelper.fromLong(_message, offset, 1);
     670            int size = _message[offset] & 0xff;
    671671            offset++;
    672672            offset += size; // skip the IP
     
    677677        public void readIntroKey(byte target[], int targetOffset) {
    678678            int offset = readBodyOffset() + NONCE_LENGTH;
    679             int size = (int)DataHelper.fromLong(_message, offset, 1);
     679            int size = _message[offset] & 0xff;
    680680            offset++;
    681681            offset += size; // skip the IP
     
    695695        public int readIPSize() {
    696696            int offset = readBodyOffset() + 4;
    697             int rv = (int)DataHelper.fromLong(_message, offset, 1);
     697            int rv = _message[offset] & 0xff;
    698698            if (_log.shouldLog(Log.DEBUG))
    699699                _log.debug("read alice ip size: " + rv);
     
    704704        public void readIP(byte target[], int targetOffset) {
    705705            int offset = readBodyOffset() + 4;
    706             int size = (int)DataHelper.fromLong(_message, offset, 1);
     706            int size = _message[offset] & 0xff;
    707707            offset++;
    708708            System.arraycopy(_message, offset, target, targetOffset, size);
     
    712712        public int readPort() {
    713713            int offset = readBodyOffset() + 4;
    714             offset += DataHelper.fromLong(_message, offset, 1);
     714            offset += _message[offset] & 0xff;
    715715            offset++;
    716716            int rv = (int)DataHelper.fromLong(_message, offset, 2);
     
    723723        public int readChallengeSize() {
    724724            int offset = readBodyOffset() + 4;
    725             offset += DataHelper.fromLong(_message, offset, 1);
    726             offset++;
    727             offset += 2;
    728             int rv = (int)DataHelper.fromLong(_message, offset, 1);
     725            offset += _message[offset] & 0xff;
     726            offset++;
     727            offset += 2;
     728            int rv = _message[offset] & 0xff;
    729729            if (_log.shouldLog(Log.DEBUG))
    730730                _log.debug("read challenge size: " + rv);
     
    735735        public void readChallengeSize(byte target[], int targetOffset) {
    736736            int offset = readBodyOffset() + 4;
    737             offset += DataHelper.fromLong(_message, offset, 1);
    738             offset++;
    739             offset += 2;
    740             int sz = (int)DataHelper.fromLong(_message, offset, 1);
     737            offset += _message[offset] & 0xff;
     738            offset++;
     739            offset += 2;
     740            int sz = _message[offset] & 0xff;
    741741            offset++;
    742742            System.arraycopy(_message, offset, target, targetOffset, sz);
     
    746746        public void readAliceIntroKey(byte target[], int targetOffset) {
    747747            int offset = readBodyOffset() + 4;
    748             offset += DataHelper.fromLong(_message, offset, 1);
    749             offset++;
    750             offset += 2;
    751             int sz = (int)DataHelper.fromLong(_message, offset, 1);
     748            offset += _message[offset] & 0xff;
     749            offset++;
     750            offset += 2;
     751            int sz = _message[offset] & 0xff;
    752752            offset++;
    753753            offset += sz;
     
    759759        public long readNonce() {
    760760            int offset = readBodyOffset() + 4;
    761             offset += DataHelper.fromLong(_message, offset, 1);
    762             offset++;
    763             offset += 2;
    764             int sz = (int)DataHelper.fromLong(_message, offset, 1);
     761            offset += _message[offset] & 0xff;
     762            offset++;
     763            offset += 2;
     764            int sz = _message[offset] & 0xff;
    765765            offset++;
    766766            offset += sz;
     
    777777        public int readIPSize() {
    778778            int offset = readBodyOffset();
    779             return (int)DataHelper.fromLong(_message, offset, 1);
     779            return _message[offset] & 0xff;
    780780        }
    781781       
     
    783783        public void readIP(byte target[], int targetOffset) {
    784784            int offset = readBodyOffset();
    785             int size = (int)DataHelper.fromLong(_message, offset, 1);
     785            int size = _message[offset] & 0xff;
    786786            offset++;
    787787            System.arraycopy(_message, offset, target, targetOffset, size);
     
    789789        public int readPort() {
    790790            int offset = readBodyOffset();
    791             offset += DataHelper.fromLong(_message, offset, 1);
     791            offset += _message[offset] & 0xff;
    792792            offset++;
    793793            return (int)DataHelper.fromLong(_message, offset, 2);
     
    797797        public int readChallengeSize() {
    798798            int offset = readBodyOffset();
    799             offset += DataHelper.fromLong(_message, offset, 1);
    800             offset++;
    801             offset += 2;
    802             return (int)DataHelper.fromLong(_message, offset, 1);
     799            offset += _message[offset] & 0xff;
     800            offset++;
     801            offset += 2;
     802            return _message[offset] & 0xff;
    803803        }
    804804
     
    806806        public void readChallengeSize(byte target[], int targetOffset) {
    807807            int offset = readBodyOffset();
    808             offset += DataHelper.fromLong(_message, offset, 1);
    809             offset++;
    810             offset += 2;
    811             int sz = (int)DataHelper.fromLong(_message, offset, 1);
     808            offset += _message[offset] & 0xff;
     809            offset++;
     810            offset += 2;
     811            int sz = _message[offset] & 0xff;
    812812            offset++;
    813813            System.arraycopy(_message, offset, target, targetOffset, sz);
     
    820820        public int readCharlieIPSize() {
    821821            int offset = readBodyOffset();
    822             return (int)DataHelper.fromLong(_message, offset, 1);
     822            return _message[offset] & 0xff;
    823823        }
    824824        /** what IP charlie is reachable on */
    825825        public void readCharlieIP(byte target[], int targetOffset) {
    826826            int offset = readBodyOffset();
    827             int size = (int)DataHelper.fromLong(_message, offset, 1);
     827            int size = _message[offset] & 0xff;
    828828            offset++;
    829829            System.arraycopy(_message, offset, target, targetOffset, size);
     
    832832        public int readCharliePort() {
    833833            int offset = readBodyOffset();
    834             offset += DataHelper.fromLong(_message, offset, 1);
     834            offset += _message[offset] & 0xff;
    835835            offset++;
    836836            return (int)DataHelper.fromLong(_message, offset, 2);
     
    840840        public int readAliceIPSize() {
    841841            int offset = readBodyOffset();
    842             offset += DataHelper.fromLong(_message, offset, 1);
    843             offset++;
    844             offset += 2;
    845             return (int)DataHelper.fromLong(_message, offset, 1);
     842            offset += _message[offset] & 0xff;
     843            offset++;
     844            offset += 2;
     845            return _message[offset] & 0xff;
    846846        }
    847847        /** @deprecated unused */
    848848        public void readAliceIP(byte target[], int targetOffset) {
    849849            int offset = readBodyOffset();
    850             offset += DataHelper.fromLong(_message, offset, 1);
    851             offset++;
    852             offset += 2;
    853             int sz = (int)DataHelper.fromLong(_message, offset, 1);
     850            offset += _message[offset] & 0xff;
     851            offset++;
     852            offset += 2;
     853            int sz = _message[offset] & 0xff;
    854854            offset++;
    855855            System.arraycopy(_message, offset, target, targetOffset, sz);
     
    858858        public int readAlicePort() {
    859859            int offset = readBodyOffset();
    860             offset += DataHelper.fromLong(_message, offset, 1);
    861             offset++;
    862             offset += 2;
    863             int sz = (int)DataHelper.fromLong(_message, offset, 1);
     860            offset += _message[offset] & 0xff;
     861            offset++;
     862            offset += 2;
     863            int sz = _message[offset] & 0xff;
    864864            offset++;
    865865            offset += sz;
     
    868868        public long readNonce() {
    869869            int offset = readBodyOffset();
    870             offset += DataHelper.fromLong(_message, offset, 1);
    871             offset++;
    872             offset += 2;
    873             int sz = (int)DataHelper.fromLong(_message, offset, 1);
     870            offset += _message[offset] & 0xff;
     871            offset++;
     872            offset += 2;
     873            int sz = _message[offset] & 0xff;
    874874            offset++;
    875875            offset += sz;
Note: See TracChangeset for help on using the changeset viewer.