/** * Given the input stream, this fills our service context map. See the definition of scMap for details. Creates a * HashMap. * * Note that we don't actually unmarshal the bytes of the service contexts here. That is done when they are actually * requested via get(int). */ private void createMapFromInputStream(InputStream is) { orb = (ORB) (is.orb()); if (orb.serviceContextDebugFlag) dprint("Constructing ServiceContexts from input stream"); int numValid = is.read_long(); if (orb.serviceContextDebugFlag) dprint("Number of service contexts = " + numValid); for (int ctr = 0; ctr < numValid; ctr++) { int scId = is.read_long(); if (orb.serviceContextDebugFlag) dprint("Reading service context id " + scId); byte[] data = OctetSeqHelper.read(is); if (orb.serviceContextDebugFlag) dprint("Service context" + scId + " length: " + data.length); scMap.put(new Integer(scId), data); } }
/** * Given the input stream, this fills our service context map. See the definition of scMap for details. Creates a * HashMap. * * Note that we don't actually unmarshal the bytes of the service contexts here. That is done when they are actually * requested via get(int). */ private void createMapFromInputStream(InputStream is) { orb = (ORB) (is.orb()); if (orb.serviceContextDebugFlag) dprint("Constructing ServiceContexts from input stream"); int numValid = is.read_long(); if (orb.serviceContextDebugFlag) dprint("Number of service contexts = " + numValid); for (int ctr = 0; ctr < numValid; ctr++) { int scId = is.read_long(); if (orb.serviceContextDebugFlag) dprint("Reading service context id " + scId); byte[] data = OctetSeqHelper.read(is); if (orb.serviceContextDebugFlag) dprint("Service context" + scId + " length: " + data.length); scMap.put(new Integer(scId), data); } }
/** * Write the given entry from the scMap to the OutputStream. See note on giopVersion. The service context should * know the GIOP version it is meant for. */ private void writeMapEntry(OutputStream os, Integer id, Object scObj, GIOPVersion gv) { // If it's still in byte[] form, we don't need to // unmarshal it here, just copy the bytes into // the new stream. if (scObj instanceof byte[]) { if (isDebugging(os)) dprint("Writing service context bytes for id " + id); OctetSeqHelper.write(os, (byte[]) scObj); } else { // We actually unmarshaled it into a ServiceContext // at some point. ServiceContext sc = (ServiceContext) scObj; if (isDebugging(os)) dprint("Writing service context " + sc); sc.write(os, gv); } }
/** * Write the given entry from the scMap to the OutputStream. See note on giopVersion. The service context should * know the GIOP version it is meant for. */ private void writeMapEntry(OutputStream os, Integer id, Object scObj, GIOPVersion gv) { // If it's still in byte[] form, we don't need to // unmarshal it here, just copy the bytes into // the new stream. if (scObj instanceof byte[]) { if (isDebugging(os)) dprint("Writing service context bytes for id " + id); OctetSeqHelper.write(os, (byte[]) scObj); } else { // We actually unmarshaled it into a ServiceContext // at some point. ServiceContext sc = (ServiceContext) scObj; if (isDebugging(os)) dprint("Writing service context " + sc); sc.write(os, gv); } }