It seems the damn thing works it was just a problem with the calbacks, 
any of the experts here know what methods i should use to pack AMF 
packet data properly to get near exact values out of this ?

onBWDone: kbitDown = 2439332.3333333335, deltaDown= 7317997, deltaTime = 
3.0, latency = 800KBytes 7143


Here is the entire calculation we need to worry about, and then its 
done, we can set it up as a custom bean somehow ?

public void resultReceived(IPendingServiceCall call) {
        long now = (new Date()).getTime()/1;
        this.pakRecv[this.count] = now;
        this.count++;
        int timePassed = (int)(now - this.beginningValues.get("time"));
       
        if (this.count == 1) {

            this.latency = Math.min(timePassed, 800);

            this.latency = Math.max(this.latency, 10);

        }
       
        //If we have a hi-speed network with low latency send more to 
determine
        // better bandwidth numbers, send no more than 6 packets
       
        if ( this.count == 2 && (timePassed<2000))
        {
           
            this.pakSent[this.sent++] = now;
            this.cumLatency++;
            this.callBWCheck(this.payload);
           
            //this.client.call("onBWCheck", res, this.client.payload);
        } else if (this.sent == this.count) {   
            // See if we need to normalize latency
            if ( this.latency >= 100 )
            {
               
                // make sure we detect sattelite and modem correctly
                if (this.pakRecv[1] - this.pakRecv[0] > 1000)
                {
                    this.latency = 100;
                }
               
            }
           
           
            this.payload = new double[0];
            //delete this.client.payload;

            // Got back responses for all the packets compute the bandwidth.
            this.getStats();

            long  deltaDown = this.bytes_out - 
this.beginningValues.get("b_down")*8/1000;
            double deltaTime = ( (now - 
this.beginningValues.get("time")) - (this.latency*this.cumLatency))/1000;
           
            if (deltaTime <= 0) deltaTime = (now - 
this.beginningValues.get("time"))/1000;
            //System.out.println(deltaDown + " " + this.bytes_out + " " 
+ this.beginningValues.get("b_down") + " " + deltaTime + " " + (now - 
this.beginningValues.get("time")) + " " + (this.latency*this.cumLatency));
           
            double kbitDown = deltaDown/deltaTime;

            System.out.println("onBWDone: kbitDown = " + kbitDown + ", 
deltaDown= " + deltaDown + ", deltaTime = " + deltaTime + ", latency = " 
+ this.latency + "KBytes " + (this.bytes_out - 
this.beginningValues.get("b_down"))/1024);

            this.callBWDone(kbitDown, deltaDown, deltaTime, this.latency);
        }
       
    }



Dan Rossi wrote:
> sorry
>
> this.nc.client = this;
>
> it should pickup the callback methods in the current class.
>
> For some really odd reason im geting callback failed but the methods are 
> there, thats in both  AMF0 and AMF3.
>
>
> Saifur Rahman wrote:
>   
>> Dear Rossi,
>>
>> Do I have to do anything like the following to make the method work?
>>
>> this.nc.onStatus = Delegate.create(this, this.ncOnStatus)
>>
>> Saifur
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Red5 mailing list
>> [email protected]
>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>   
>>     
>
>
> _______________________________________________
> Red5 mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
>   


_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org

Reply via email to