public void noteClassMappingsReceived ( Collection < Class < ? > > sclasses ) { // sanity check if ( _classmap == null ) { throw new RuntimeException ( "Missing class map" ) ; } // make each class's code positive to signify that we no longer need to send metadata for ( Class < ? > sclass : sclasses ) { ClassMapping cmap = _classmap . get ( sclass ) ; if ( cmap == null ) { throw new RuntimeException ( "No class mapping for " + sclass . getName ( ) ) ; } cmap . code = ( short ) Math . abs ( cmap . code ) ; } }
Notes that the receiver has received the mappings for a group of classes and thus that from now on only the codes need be sent .