File tree Expand file tree Collapse file tree 1 file changed +18
-13
lines changed
javasdk/NRSDK/src/com/neuronrobotics/sdk/common Expand file tree Collapse file tree 1 file changed +18
-13
lines changed Original file line number Diff line number Diff line change @@ -60,32 +60,37 @@ private static synchronized BowlerDatagram getNextPacket(){
60
60
//Find the most recent free packet from the pool
61
61
for (int i =lastIndex ;(i <pool .length && ref ==null );i ++){
62
62
//Log.warning("Checking pool packet "+i);
63
+ if (pool [i ]==null ){
64
+ pool [i ]=new BowlerDatagram (instance );
65
+ freePacket (pool [i ]);
66
+ }
63
67
if (pool [i ].isFree ()){
64
68
lastIndex =i ;
65
69
ref =pool [i ];
66
70
}
67
- if (i ==pool .length -1 ){
71
+ if (i ==pool .length -1 && ref == null ){
68
72
//loop around since we started at the last index
69
73
i =0 ;
70
74
}
71
- if (i ==lastIndex -1 ){
75
+ if (i ==lastIndex -1 && ref == null ){
72
76
//looped around, bail
73
77
i =pool .length ;
74
78
}
75
79
}
76
80
if (ref == null ){
77
81
//The whole list was search and no free packets were found
78
- BowlerDatagram newPool [ ] = new BowlerDatagram [pool .length ];
79
- Log .warning ("Resetting pool " +newPool .length );
80
-
81
- //Adding the new packets
82
- for (int i =0 ;i <newPool .length ;i ++){
83
- newPool [i ] = new BowlerDatagram (instance );
84
- freePacket (newPool [i ]);
85
- if (ref ==null )
86
- ref =newPool [i ];
87
- }
88
- pool = newPool ;
82
+ pool = new BowlerDatagram [(int ) ((float )pool .length )];
83
+ Log .warning ("Resetting pool " +pool .length );
84
+ pool [0 ]= new BowlerDatagram (instance );
85
+ ref =pool [0 ];
86
+ // //Adding the new packets
87
+ // for(int i=0;i<newPool.length;i++){
88
+ // newPool[i] = new BowlerDatagram(instance);
89
+ // freePacket(newPool[i]);
90
+ // if(ref==null)
91
+ // ref=newPool[i];
92
+ // }
93
+ // pool = newPool;
89
94
}
90
95
//old pool data given to the GC
91
96
ref .setFree (false ,instance );
You can’t perform that action at this time.
0 commit comments