/** * A method to determine if there is enough room in the pipe for more data * @param messageCount int arg used in FieldReferenceOffsetManager.maxFragmentSize * @return null==msgCommandChannel.goPipe || Pipe.hasRoomForWrite(msgCommandChannel.goPipe, FieldReferenceOffsetManager.maxFragmentSize(Pipe.from(msgCommandChannel.goPipe))*messageCount) */ public boolean hasRoomFor(int messageCount) { int token = token(); if (token>=0) { //private topics use their own pipe which must be checked. return Pipe.hasRoomForWrite(msgCommandChannel.publishPrivateTopics.getPipe(token), messageCount * Pipe.sizeOf(MessagePrivate.instance, MessagePrivate.MSG_PUBLISH_1)); } return (null==msgCommandChannel.goPipe || Pipe.hasRoomForWrite(msgCommandChannel.goPipe, FieldReferenceOffsetManager.maxFragmentSize(Pipe.from(msgCommandChannel.goPipe))*messageCount)) && (Pipe.hasRoomForWrite(msgCommandChannel.messagePubSub, FieldReferenceOffsetManager.maxFragmentSize(Pipe.from(msgCommandChannel.messagePubSub))*messageCount)); }
assert((0 != (msgCommandChannel.initFeatures & MsgCommandChannel.DYNAMIC_MESSAGING))) : "CommandChannel must be created with DYNAMIC_MESSAGING flag"; int token = token();
assert((0 != (msgCommandChannel.initFeatures & MsgCommandChannel.DYNAMIC_MESSAGING))) : "CommandChannel must be created with DYNAMIC_MESSAGING flag"; int token = token();
assert(writable != null); int token = token();
assert(writable != null); int token = token();
assert(writable != null); int token = token();
assert(writable != null); int token = token();