[Red5commits] [red5 commit] r3142 - in java/server/branches/osgi/common: doc legacy/org/red5/io/amf legacy/org/red5/io/object...

codesite-noreply at google.com codesite-noreply at google.com
Thu Oct 2 20:02:55 PDT 2008


Author: steven.gong
Date: Thu Oct  2 20:02:30 2008
New Revision: 3142

Modified:
    java/server/branches/osgi/common/doc/red5_moduling.mm
    java/server/branches/osgi/common/legacy/org/red5/io/amf/Input.java
    java/server/branches/osgi/common/legacy/org/red5/io/object/RecordSet.java
     
java/server/branches/osgi/common/src/org/red5/server/common/amf/AMFInput.java
     
java/server/branches/osgi/common/src/org/red5/server/common/amf/impl/AMFInputLegacyWrapper.java

Log:
merged old SVN

Modified: java/server/branches/osgi/common/doc/red5_moduling.mm
==============================================================================
--- java/server/branches/osgi/common/doc/red5_moduling.mm	(original)
+++ java/server/branches/osgi/common/doc/red5_moduling.mm	Thu Oct  2  
20:02:30 2008
@@ -1,10 +1,10 @@
  <map version="0.8.1">
  <!-- To view this file, download free mind mapping software FreeMind from  
http://freemind.sourceforge.net -->
  <node CREATED="1207831162609" ID="Freemind_Link_1613267122"  
MODIFIED="1207831179125" TEXT="red5 remodeling">
-<node CREATED="1208604864286" FOLDED="true" ID="Freemind_Link_1616972648"  
MODIFIED="1208604866926" POSITION="right" TEXT="common">
+<node CREATED="1208604864286" ID="Freemind_Link_1616972648"  
MODIFIED="1208604866926" POSITION="right" TEXT="common">
  <node CREATED="1208006694750" FOLDED="true" ID="Freemind_Link_590134445"  
MODIFIED="1208006698171" TEXT="AMF">
  <node CREATED="1208007433390" ID="Freemind_Link_340603863"  
MODIFIED="1208007438250" TEXT="Interface">
-<node CREATED="1208006703421" ID="Freemind_Link_1028061568"  
MODIFIED="1208006706921" TEXT="AMFInput">
+<node CREATED="1208006703421" FOLDED="true" ID="Freemind_Link_1028061568"  
MODIFIED="1208006706921" TEXT="AMFInput">
  <node CREATED="1208006726359" ID="Freemind_Link_599815717"  
MODIFIED="1208176438515" TEXT="Object read(ByteBuffer, Class objCls)">
  <node CREATED="1208009069296" ID="Freemind_Link_1032727733"  
MODIFIED="1208009145656" TEXT="what if ByteBuffer is not sufficient">
  <icon BUILTIN="help"/>
@@ -22,7 +22,7 @@
  <node CREATED="1208010094609" ID="Freemind_Link_781304883"  
MODIFIED="1208010101968" TEXT="reset to the initial state"/>
  </node>
  </node>
-<node CREATED="1208006708484" ID="Freemind_Link_470303659"  
MODIFIED="1208006712671" TEXT="AMFOutput">
+<node CREATED="1208006708484" FOLDED="true" ID="Freemind_Link_470303659"  
MODIFIED="1208006712671" TEXT="AMFOutput">
  <node CREATED="1208007500875" ID="Freemind_Link_746615975"  
MODIFIED="1208008212640" TEXT="write(ByteBuffer, Object, int amfType)">
  <node CREATED="1208008216890" ID="Freemind_Link_131553416"  
MODIFIED="1208008299281" TEXT="what if ByteBuffer is not sufficient">
  <icon BUILTIN="help"/>
@@ -41,6 +41,40 @@
  </node>
  <node CREATED="1208007935593" ID="Freemind_Link_853378239"  
MODIFIED="1208007969703" TEXT="initial IO mode (AMF or AMF3)"/>
  </node>
+<node CREATED="1210314465144" ID="Freemind_Link_1069264976"  
MODIFIED="1210314475202" TEXT="Mode Switch">
+<node CREATED="1210314485620" ID="Freemind_Link_1681079493"  
MODIFIED="1210314488405" TEXT="Background">
+<node CREATED="1210314489953" ID="Freemind_Link_1435627038"  
MODIFIED="1210314535929" TEXT="AMF3 is wrapped in AMF, but sometimes not.  
Need to find when it is wrapped and when not."/>
+</node>
+<node CREATED="1210314774908" ID="Freemind_Link_211371123"  
MODIFIED="1210314776613" TEXT="Input">
+<node CREATED="1210314585767" ID="Freemind_Link_1379305929"  
MODIFIED="1210314589256" TEXT="wrapped">
+<node CREATED="1210314593761" ID="Freemind_Link_14844569"  
MODIFIED="1210314598235" TEXT="Remoting">
+<node CREATED="1210314637249" ID="Freemind_Link_671827237"  
MODIFIED="1210314646134" TEXT="Remoting Headers">
+<node CREATED="1210314662685" ID="Freemind_Link_1396849238"  
MODIFIED="1210314670099" TEXT="Name/Value Pairs">
+<node CREATED="1210314682098" ID="Freemind_Link_1750566528"  
MODIFIED="1210314685367" TEXT="Name: AMF0"/>
+<node CREATED="1210314686227" ID="Freemind_Link_1813930823"  
MODIFIED="1210314695629" TEXT="Value: AMF0/AMF3"/>
+</node>
+</node>
+<node CREATED="1210314646557" ID="Freemind_Link_745595048"  
MODIFIED="1210314649732" TEXT="Remoting Calls">
+<node CREATED="1210314840265" ID="Freemind_Link_1666369831"  
MODIFIED="1210314850261" TEXT="serviceString AMF0"/>
+<node CREATED="1210314861884" ID="Freemind_Link_1754671940"  
MODIFIED="1210314874633" TEXT="clientCallback AMF0"/>
+<node CREATED="1210314891465" ID="Freemind_Link_1490234693"  
MODIFIED="1210314897253" TEXT="Objects AMF0/AMF3"/>
+</node>
+</node>
+<node CREATED="1210314946091" ID="Freemind_Link_336159360"  
MODIFIED="1210314949172" TEXT="Flex Message">
+<node CREATED="1210314958589" ID="Freemind_Link_1079449380"  
MODIFIED="1210314961468" TEXT="action AMF0"/>
+<node CREATED="1210314961953" ID="Freemind_Link_46956693"  
MODIFIED="1210314965488" TEXT="invokeId AMF0"/>
+<node CREATED="1210315060348" ID="Freemind_Link_1218341529"  
MODIFIED="1210315065682" TEXT="parameters AMF0/AMF3"/>
+</node>
+<node CREATED="1210315821729" ID="Freemind_Link_1291897071"  
MODIFIED="1210315824232" TEXT="SharedObject">
+<node CREATED="1210315837653" ID="Freemind_Link_1725645785"  
MODIFIED="1210315844286" TEXT="value is in AMF0/AMF3"/>
+</node>
+<node CREATED="1210316220816" ID="Freemind_Link_765164725"  
MODIFIED="1210316222834" TEXT="Invoke"/>
+</node>
+<node CREATED="1210314589882" ID="Freemind_Link_1145271544"  
MODIFIED="1210314592228" TEXT="unwrapped">
+<node CREATED="1210315078306" ID="Freemind_Link_904109528"  
MODIFIED="1210315084673" TEXT="Flex SharedObject"/>
+</node>
+</node>
+</node>
  </node>
  <node CREATED="1207831261468" FOLDED="true" HGAP="28"  
ID="Freemind_Link_1672617907" MODIFIED="1208176382625" TEXT="RTMP Codec  
library" VSHIFT="1">
  <node CREATED="1208011411062" ID="Freemind_Link_1923064602"  
MODIFIED="1208011415687" TEXT="Interface">
@@ -133,6 +167,56 @@
  </node>
  </node>
  </node>
+<node CREATED="1210386487051" ID="Freemind_Link_1621371821"  
MODIFIED="1210386492377" TEXT="decoder">
+<node CREATED="1210386513962" ID="Freemind_Link_1759080155"  
MODIFIED="1210386533072" TEXT="channel bytes">
+<node CREATED="1210386533887" ID="Freemind_Link_423999165"  
MODIFIED="1210386538727" TEXT="1 byte">
+<node CREATED="1210386566672" ID="Freemind_Link_1608064882"  
MODIFIED="1210386815682" TEXT="b[0]&amp;0x3f&gt;=2">
+<node CREATED="1210386769129" ID="Freemind_Link_614809685"  
MODIFIED="1210386783430" TEXT="channel 2 to 63 (62 channels)"/>
+</node>
+</node>
+<node CREATED="1210386539150" ID="Freemind_Link_925305002"  
MODIFIED="1210386540512" TEXT="2 bytes">
+<node CREATED="1210386636220" ID="Freemind_Link_549795681"  
MODIFIED="1210386821494" TEXT="b[0]&amp;0x3f==0">
+<node CREATED="1210387028399" ID="Freemind_Link_82954042"  
MODIFIED="1210387092136" TEXT="64+b[1]"/>
+</node>
+</node>
+<node CREATED="1210386540951" ID="Freemind_Link_496601785"  
MODIFIED="1210386542533" TEXT="3 bytes">
+<node CREATED="1210386644553" ID="Freemind_Link_1832386488"  
MODIFIED="1210386648234" TEXT="b&amp;0x3f==1">
+<node CREATED="1210387094360" ID="Freemind_Link_177890488"  
MODIFIED="1210387125469" TEXT="64+b[1]+b[2]*256"/>
+</node>
+</node>
+</node>
+<node CREATED="1210388388147" ID="Freemind_Link_1713357658"  
MODIFIED="1210388389236" TEXT="header">
+<node CREATED="1210388417761" ID="Freemind_Link_1711746538"  
MODIFIED="1210388894650" TEXT="standard(00)">
+<node CREATED="1210388423927" ID="Freemind_Link_969551060"  
MODIFIED="1210388427929" TEXT="channel bytes"/>
+<node CREATED="1210388856109" ID="Freemind_Link_282716951"  
MODIFIED="1210388857941" TEXT="timestamp">
+<node CREATED="1210389151053" ID="Freemind_Link_866964855"  
MODIFIED="1210389155528" TEXT="absolute"/>
+</node>
+<node CREATED="1210388859400" ID="Freemind_Link_1323798916"  
MODIFIED="1210388862133" TEXT="size"/>
+<node CREATED="1210388870478" ID="Freemind_Link_1949885416"  
MODIFIED="1210388871851" TEXT="data type"/>
+<node CREATED="1210388876919" ID="Freemind_Link_722764782"  
MODIFIED="1210388878291" TEXT="stream id"/>
+</node>
+<node CREATED="1210388896396" ID="Freemind_Link_1009384281"  
MODIFIED="1210388909994" TEXT="same source(01)">
+<node CREATED="1210388921035" ID="Freemind_Link_624909743"  
MODIFIED="1210388924918" TEXT="channel bytes"/>
+<node CREATED="1210388925729" ID="Freemind_Link_433478126"  
MODIFIED="1210388927881" TEXT="timestamp">
+<node CREATED="1210389157914" ID="Freemind_Link_1996822232"  
MODIFIED="1210389159302" TEXT="relative"/>
+</node>
+<node CREATED="1210388928100" ID="Freemind_Link_1742728068"  
MODIFIED="1210388929004" TEXT="size"/>
+<node CREATED="1210388929269" ID="Freemind_Link_977583533"  
MODIFIED="1210388931140" TEXT="data type"/>
+</node>
+<node CREATED="1210388957214" ID="Freemind_Link_1919031639"  
MODIFIED="1210388993440" TEXT="timestamp changed(10)">
+<node CREATED="1210388995218" ID="Freemind_Link_807183149"  
MODIFIED="1210388998103" TEXT="channel bytes"/>
+<node CREATED="1210388998539" ID="Freemind_Link_1181804224"  
MODIFIED="1210389000005" TEXT="timestamp">
+<node CREATED="1210389161064" ID="Freemind_Link_1687405826"  
MODIFIED="1210389162125" TEXT="relative"/>
+</node>
+</node>
+<node CREATED="1210389008161" ID="Freemind_Link_10893846"  
MODIFIED="1210389027795" TEXT="nothing changed(11)">
+<node CREATED="1210389028855" ID="Freemind_Link_1816638327"  
MODIFIED="1210389031085" TEXT="channel bytes"/>
+</node>
+</node>
+<node CREATED="1210389819327" ID="Freemind_Link_263878122"  
MODIFIED="1210389822718" TEXT="body">
+<node CREATED="1210389823500" ID="Freemind_Link_751897300"  
MODIFIED="1210389910574" TEXT="chunk size"/>
+</node>
+</node>
  </node>
  <node CREATED="1208604953332" ID="_" MODIFIED="1208604957645"  
TEXT="Service Invoker">
  <node CREATED="1208605089614" ID="Freemind_Link_675877441"  
MODIFIED="1208605094567" TEXT="service">
@@ -157,9 +241,16 @@
  <icon BUILTIN="help"/>
  </node>
  </node>
+<node CREATED="1213102291245" ID="Freemind_Link_1418847202"  
MODIFIED="1213102298012" TEXT="matching strategy">
+<node CREATED="1213102315423" ID="Freemind_Link_678869671"  
MODIFIED="1213102338902" TEXT="target class is assignable from source  
class"/>
+<node CREATED="1213102362174" ID="Freemind_Link_364338390"  
MODIFIED="1213102464068" TEXT="target is primitive and source is wrapper or  
vice versa"/>
+<node CREATED="1213103973179" ID="Freemind_Link_465149357"  
MODIFIED="1213104036670" TEXT="target is array, source is array: convert  
elements"/>
+<node CREATED="1213103987949" ID="Freemind_Link_1864204140"  
MODIFIED="1213104047215" TEXT="target is array, source is collection:  
convert elements and toArray"/>
+<node CREATED="1213103995788" ID="Freemind_Link_789799228"  
MODIFIED="1213104056837" TEXT="target is map, source is object: use  
beanutils bean map"/>
  </node>
  </node>
-<node CREATED="1208578120457" ID="Freemind_Link_1368921103"  
MODIFIED="1208578129926" POSITION="right" TEXT="RTMP Core">
+</node>
+<node CREATED="1208578120457" FOLDED="true" ID="Freemind_Link_1368921103"  
MODIFIED="1208578129926" POSITION="right" TEXT="RTMP Core">
  <node CREATED="1208578135629" ID="Freemind_Link_9645498"  
MODIFIED="1208578152911" TEXT="Packet Dispatcher"/>
  <node CREATED="1208578166286" ID="Freemind_Link_764434755"  
MODIFIED="1208578175176" TEXT="RTMP Connection Management">
  <node CREATED="1208594780520" ID="Freemind_Link_339670275"  
MODIFIED="1208594786192" TEXT="connection model">
@@ -261,11 +352,22 @@
  </node>
  </node>
  </node>
-<node CREATED="1207831276265" ID="Freemind_Link_299374049"  
MODIFIED="1208176396281" POSITION="right" TEXT="RTMP Connector"  
VSHIFT="-24">
-<node CREATED="1207831328265" ID="Freemind_Link_496202278"  
MODIFIED="1207831333484" TEXT="MINA"/>
+<node CREATED="1207831276265" FOLDED="true" ID="Freemind_Link_299374049"  
MODIFIED="1208176396281" POSITION="right" TEXT="RTMP Connector"  
VSHIFT="-24">
+<node CREATED="1207831328265" ID="Freemind_Link_496202278"  
MODIFIED="1207831333484" TEXT="MINA">
+<node CREATED="1210215949925" ID="Freemind_Link_1540352483"  
MODIFIED="1210215953089" TEXT="filter chain">
+<node CREATED="1210215953915" ID="Freemind_Link_651085801"  
MODIFIED="1210215958793" TEXT="global filters">
+<node CREATED="1210215975860" ID="Freemind_Link_407391016"  
MODIFIED="1210215986910" TEXT="event threads"/>
+</node>
+<node CREATED="1210215959136" ID="Freemind_Link_696183678"  
MODIFIED="1210215961365" TEXT="session filters">
+<node CREATED="1210215962409" ID="Freemind_Link_851647590"  
MODIFIED="1210215965978" TEXT="codec factory"/>
+<node CREATED="1210215967522" ID="Freemind_Link_509805395"  
MODIFIED="1210215973787" TEXT="logging"/>
+</node>
+<node CREATED="1210215995841" ID="Freemind_Link_531023710"  
MODIFIED="1210216017116" TEXT="codec factory-&gt;event  
threads-&gt;logging"/>
+</node>
+</node>
  <node CREATED="1207831334343" ID="Freemind_Link_1613637845"  
MODIFIED="1207831340625" TEXT="Servlet"/>
  </node>
-<node CREATED="1208607850457" ID="Freemind_Link_1510190246"  
MODIFIED="1208607854629" POSITION="right" TEXT="RTMP Application Framework">
+<node CREATED="1208607850457" FOLDED="true" ID="Freemind_Link_1510190246"  
MODIFIED="1208607854629" POSITION="right" TEXT="RTMP Application Framework">
  <node CREATED="1208607856192" ID="Freemind_Link_1710341483"  
MODIFIED="1208607900332" TEXT="Instance per App Object or Bundle per App  
Object">
  <icon BUILTIN="help"/>
  <node CREATED="1208615073645" ID="Freemind_Link_23592982"  
MODIFIED="1208615092286" TEXT="App Obj per Bundle"/>

Modified: java/server/branches/osgi/common/legacy/org/red5/io/amf/Input.java
==============================================================================
--- java/server/branches/osgi/common/legacy/org/red5/io/amf/Input.java	 
(original)
+++ java/server/branches/osgi/common/legacy/org/red5/io/amf/Input.java	Thu  
Oct  2 20:02:30 2008
@@ -577,6 +577,10 @@
  	public void reset() {
  		reset(ReferenceMode.MODE_RTMP);
  	}
+	
+	public void wrapBuffer(BufferEx buf) {
+		this.buf = buf;
+	}

      protected Class getPropertyType(Object instance, String propertyName) {
          try {

Modified:  
java/server/branches/osgi/common/legacy/org/red5/io/object/RecordSet.java
==============================================================================
---  
java/server/branches/osgi/common/legacy/org/red5/io/object/RecordSet.java	 
(original)
+++  
java/server/branches/osgi/common/legacy/org/red5/io/object/RecordSet.java	 
Thu Oct  2 20:02:30 2008
@@ -26,6 +26,9 @@
  import java.util.Map;

  /**
+ * TODO this class is not functional at the moment as RemotingClient is
+ * removed to make it compiled.
+ *
   * Read only RecordSet object that might be received through remoting  
calls. There are 3 types of data fetching:
   *
   * <ul>

Modified:  
java/server/branches/osgi/common/src/org/red5/server/common/amf/AMFInput.java
==============================================================================
---  
java/server/branches/osgi/common/src/org/red5/server/common/amf/AMFInput.java	 
(original)
+++  
java/server/branches/osgi/common/src/org/red5/server/common/amf/AMFInput.java	 
Thu Oct  2 20:02:30 2008
@@ -41,12 +41,11 @@
  	 * occurs, otherwise all bytes in the buffer will be consumed.
  	 *
  	 * @param buf Buffer to read AMF objects from.
-	 * @param objectClasses An array of class types to cast objects to.
  	 * @param classLoader The class loader to load the customized classes.
  	 * Current thread's loader is used when it is <tt>null</tt>.
  	 * @return An array of mapped Java objects from AMF objects.
  	 */
-	Object[] readAll(BufferEx buf, Class<?>[] objectClasses, ClassLoader  
classLoader)
+	Object[] readAll(BufferEx buf, ClassLoader classLoader)
  	throws AMFInputOutputException, ClassCastException;
  	
  	/**
@@ -69,10 +68,9 @@
  	 * the default class loader.
  	 *
  	 * @param buf Buffer to read AMF objects from.
-	 * @param objectClasses An array of class types to cast objects to.
  	 * @return An array of mapped Java objects from AMF objects.
  	 */
-	Object[] readAll(BufferEx buf, Class<?>[] objectClasses)
+	Object[] readAll(BufferEx buf)
  	throws AMFInputOutputException, ClassCastException;
  	
  	/**

Modified:  
java/server/branches/osgi/common/src/org/red5/server/common/amf/impl/AMFInputLegacyWrapper.java
==============================================================================
---  
java/server/branches/osgi/common/src/org/red5/server/common/amf/impl/AMFInputLegacyWrapper.java	 
(original)
+++  
java/server/branches/osgi/common/src/org/red5/server/common/amf/impl/AMFInputLegacyWrapper.java	 
Thu Oct  2 20:02:30 2008
@@ -1,21 +1,38 @@
  package org.red5.server.common.amf.impl;

+import java.util.ArrayList;
+import java.util.List;
+
  import org.red5.server.common.BufferEx;
+import org.red5.server.common.amf.AMFConstants;
  import org.red5.server.common.amf.AMFInput;
  import org.red5.server.common.amf.AMFInputOutputException;

-public class AMFInputLegacyWrapper implements AMFInput {
+public class AMFInputLegacyWrapper
+implements AMFInput, AMFConstants {
+	private int defaultInputMode;
+	private int inputMode;
+	private ClassLoader defaultClassLoader;
+	private org.red5.io.amf.Input amf0Input;
+	private org.red5.io.amf3.Input amf3Input;
+	private BufferEx workingBuf;
+	
+	public AMFInputLegacyWrapper(int defaultInputMode) {
+		this.defaultInputMode = defaultInputMode;
+		this.inputMode = defaultInputMode;
+		amf0Input = new org.red5.io.amf.Input(null);
+		amf3Input = new org.red5.io.amf3.Input(null);
+		workingBuf = BufferEx.allocate(512);
+	}

  	@Override
  	public int getDefaultInputMode() {
-		// TODO Auto-generated method stub
-		return 0;
+		return defaultInputMode;
  	}

  	@Override
  	public int getInputMode() {
-		// TODO Auto-generated method stub
-		return 0;
+		return inputMode;
  	}

  	@Override
@@ -29,47 +46,58 @@
  	@Override
  	public <T> T read(BufferEx buf, Class<T> objectClass)
  			throws AMFInputOutputException, ClassCastException {
-		// TODO Auto-generated method stub
-		return null;
+		return read(buf, objectClass, defaultClassLoader);
  	}

  	@Override
-	public Object[] readAll(BufferEx buf, Class<?>[] objectClasses,
-			ClassLoader classLoader) throws AMFInputOutputException,
-			ClassCastException {
-		// TODO Auto-generated method stub
-		return null;
+	public Object[] readAll(BufferEx buf, ClassLoader classLoader)
+	throws AMFInputOutputException,ClassCastException {
+		List<Object> objectList = new ArrayList<Object>();
+		Object object;
+		while (true) {
+			object = read(buf, null, classLoader);
+			if (object != null) {
+				objectList.add(object);
+			} else {
+				break;
+			}
+		}
+		return objectList.toArray();
  	}

  	@Override
-	public Object[] readAll(BufferEx buf, Class<?>[] objectClasses)
-			throws AMFInputOutputException, ClassCastException {
-		// TODO Auto-generated method stub
-		return null;
+	public Object[] readAll(BufferEx buf) throws AMFInputOutputException,  
ClassCastException {
+		return readAll(buf, defaultClassLoader);
  	}

  	@Override
  	public String readString(BufferEx buf) {
-		// TODO Auto-generated method stub
-		return null;
+		if (inputMode == AMF_MODE_0) {
+			amf0Input.wrapBuffer(buf);
+			return amf0Input.readString();
+		} else {
+			amf3Input.wrapBuffer(buf);
+			return amf3Input.readString();
+		}
  	}

  	@Override
  	public void resetInput() {
-		// TODO Auto-generated method stub
-
+		amf0Input.reset();
+		amf3Input.reset();
+		inputMode = defaultInputMode;
  	}

  	@Override
  	public void setDefaultClassLoader(ClassLoader defaultClassLoader) {
-		// TODO Auto-generated method stub
-
+		this.defaultClassLoader = defaultClassLoader;
  	}

  	@Override
  	public void setInputMode(int mode) {
-		// TODO Auto-generated method stub
-
+		amf0Input.reset();
+		amf3Input.reset();
+		inputMode = mode;
  	}

  }



More information about the Red5commits mailing list