mirror of
https://gitee.com/farsunset/cim.git
synced 2025-07-26 01:31:46 +08:00
TagSessionGroup新增过滤器参数
This commit is contained in:
parent
c9c317d6c8
commit
bfa0b5b8ea
@ -8,10 +8,6 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="bed47126-03b3-4370-a6c1-08503492974f" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/cim-boot-server.iml" beforeDir="false" afterPath="$PROJECT_DIR$/cim-boot-server.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/cim-boot-server.ipr" beforeDir="false" afterPath="$PROJECT_DIR$/cim-boot-server.ipr" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/cim-boot-server.iws" beforeDir="false" afterPath="$PROJECT_DIR$/cim-boot-server.iws" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/farsunset/cim/component/handler/ClosedHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/farsunset/cim/component/handler/ClosedHandler.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/../cim-server-sdk/src/main/java/com/farsunset/cim/sdk/server/group/SessionGroup.java" beforeDir="false" afterPath="$PROJECT_DIR$/../cim-server-sdk/src/main/java/com/farsunset/cim/sdk/server/group/SessionGroup.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
@ -149,6 +145,7 @@
|
||||
<workItem from="1621948445182" duration="764000" />
|
||||
<workItem from="1621956423905" duration="116000" />
|
||||
<workItem from="1622640308758" duration="60000" />
|
||||
<workItem from="1623163801922" duration="23000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
Binary file not shown.
@ -10,6 +10,7 @@ import io.netty.channel.ChannelFutureListener;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class SessionGroup extends ConcurrentHashMap<String, Collection<Channel>> {
|
||||
@ -71,6 +72,14 @@ public class SessionGroup extends ConcurrentHashMap<String, Collection<Channel>>
|
||||
find(key).forEach(channel -> channel.writeAndFlush(message));
|
||||
}
|
||||
|
||||
public void write(String key, Message message, Predicate<Channel> matcher){
|
||||
find(key).stream().filter(matcher).forEach(channel -> channel.writeAndFlush(message));
|
||||
}
|
||||
|
||||
public void write(Message message){
|
||||
this.write(message.getReceiver(),message);
|
||||
}
|
||||
|
||||
public Collection<Channel> find(String key){
|
||||
return this.getOrDefault(key,EMPTY_LIST);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user