[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]&0x3f>=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]&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&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->event
threads->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