Example #1
0
def test_bats_s(from_file, to_file):
	def a():
		print 'a()'
	loss_rate = 0.1
	r = 0
	e = Encoder.fromfile(from_file)
	d = Decoder.tofile(to_file, os.path.getsize(from_file), a, hashFile(from_file))

	while not d.complete():
		s = e.genPacket()
		if s:
			if random() >= loss_rate:
				d.receivePacket(s)
				r += 1
	print 'received:%d,decoded:%d'%(r, d.getDecoded())
Example #2
0
def test_bats_s(from_file, to_file):
    def a():
        print 'a()'

    loss_rate = 0.1
    r = 0
    e = Encoder.fromfile(from_file)
    d = Decoder.tofile(to_file, os.path.getsize(from_file), a,
                       hashFile(from_file))

    while not d.complete():
        s = e.genPacket()
        if s:
            if random() >= loss_rate:
                d.receivePacket(s)
                r += 1
    print 'received:%d,decoded:%d' % (r, d.getDecoded())
Example #3
0
def test_bats(from_file, to_file):
    def a():
        print 'a()'

    r = 0
    e = Encoder.fromfile(from_file)
    for i in xrange(10001):
        e.genPacket()
    #f = open("pp", "r+b")

    d = Decoder.tofile(to_file, os.path.getsize(from_file), a,
                       hashFile(from_file))
    j = ''
    ib = 0
    h = {}
    hm = 0
    hid = {}
    hidm = 0

    while not d.complete():
        s = e.genPacket()
        #s = f.read(1042)
        if s == '':
            continue
        if s not in h:
            h[s] = 1
            hm = 1 if 1 > hm else hm
        else:
            h[s] += 1
            hm = h[s] if h[s] > hm else hm
        i = (ord(s[0]) + ord(s[1]) * 256)
        if i not in hid:
            hid[i] = 1
            hidm = 1 if 1 > hidm else hidm
        else:
            hid[i] += 1
            hidm = hid[i] if hid[i] > hidm else hidm
        if s:
            j = base64.b64decode(json.loads(json.dumps(base64.b64encode(s))))

            d.receivePacket(j)
            r += 1
            ib = i if i > ib else ib
            print ib, i, hm, hidm
    print type(j)
    print 'received:%d,decoded:%d' % (r, d.getDecoded())
Example #4
0
def test_bats(from_file, to_file):
	def a():
		print 'a()'
	r = 0
	e = Encoder.fromfile(from_file)
	for i in xrange(10001):
		e.genPacket()
	#f = open("pp", "r+b")

	d = Decoder.tofile(to_file, os.path.getsize(from_file), a, hashFile(from_file))
	j = ''
	ib = 0
	h = {}
	hm = 0
	hid = {}
	hidm = 0

	while not d.complete():
		s = e.genPacket()
		#s = f.read(1042)
		if s == '':
			continue
		if s not in h:
			h[s] = 1
			hm = 1 if 1>hm else hm
		else:
			h[s] += 1
			hm = h[s] if h[s]>hm else hm
		i =  (ord(s[0])+ord(s[1])*256)
		if i not in hid:
			hid[i] = 1
			hidm = 1 if 1>hidm else hidm
		else:
			hid[i] += 1
			hidm = hid[i] if hid[i]>hidm else hidm
		if s:
			j = base64.b64decode(json.loads(json.dumps(base64.b64encode(s))))
			
			d.receivePacket(j)
			r += 1
			ib = i if i>ib else ib
			print ib, i, hm, hidm
	print type(j)
	print 'received:%d,decoded:%d'%(r, d.getDecoded())
Example #5
0
from bats import Encoder, Decoder, Recoder

PACKET_SIZE = bats.PACKET_SIZE

if __name__ == "__main__":
    import sys

    if len(sys.argv) == 1:
        input_file = 'input'
    else:
        input_file = sys.argv[1]

    enc = Encoder.fromfile(input_file)

    # Create decoder instance given destination filename and filesize.
    dec = Decoder.tofile('output', os.path.getsize(input_file))

    # Create recoder instance
    rec = Recoder(16, PACKET_SIZE)

    Rcnt = 1
    Scnt = 1

    # channel loss rate
    r = 0.05

    import time
    t0 = time.time()
    buf = []
    while not dec.complete():
        send = enc.genPacket()  # Generate a packet